![改進的canny算法_第1頁](http://file4.renrendoc.com/view/20feff39dbce518911967a16f1175736/20feff39dbce518911967a16f11757361.gif)
![改進的canny算法_第2頁](http://file4.renrendoc.com/view/20feff39dbce518911967a16f1175736/20feff39dbce518911967a16f11757362.gif)
![改進的canny算法_第3頁](http://file4.renrendoc.com/view/20feff39dbce518911967a16f1175736/20feff39dbce518911967a16f11757363.gif)
![改進的canny算法_第4頁](http://file4.renrendoc.com/view/20feff39dbce518911967a16f1175736/20feff39dbce518911967a16f11757364.gif)
![改進的canny算法_第5頁](http://file4.renrendoc.com/view/20feff39dbce518911967a16f1175736/20feff39dbce518911967a16f11757365.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、改進的canny算法importpic_processaspreimg=plt.imread(many.jpg)image=img.copy()sigmal=sigma2=1sum=0gaussian=np.zeros(5,5)foriinrange(5):forjinrange(5):gaussiani,j=math.exp(-1/2*(np.square(i-3)/np.square(sigma1)#生成二維高斯分布矩陣+(np.square(j-3)/np.square(sigma2)/(2*math.pi*sigmal*sigma2)sum=sum+gaussiani,jgaussia
2、n=gaussian/sumprint(gaussian)defrgb2gray(rgb):returnnp.dot(rgb,:3,0.299,0.587,0.114)stepl.高斯濾波#gray=rgb2gray(img)gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#gray=cv2.equalizeHist(gray)W,H=gray.shapenew_gray=np.zeros(W-5,H-5)foriinrange(W-5):forjinrange(H-5):grayi,j=np.sum(grayi:i+5,j:j+5*gaussian)#與高斯
3、矩陣卷積實現(xiàn)濾波W,H=gray.shapenew_gray=np.zeros(W-5,H-5)foriinrange(W-5):forjinrange(H-5):new_grayi,j=np.sum(grayi:i+5,j:j+5*gaussian)#與高斯矩陣卷積實現(xiàn)濾波plt.imshow(new_gray,cmap=gray)step2.增強通過求梯度幅值W1,H1=new_gray.shapedx=np.zeros(W1-1,H1-1)dy=np.zeros(W1-1,H1-1)dx2=np.zeros(W1-1,H1-1)dy2=np.zeros(W1-1,H1-1)d=np.ze
4、ros(W1-1,H1-1)foriinrange(W1-1):forjinrange(H1-1):dxi,j=(2*new_grayi,j+1-2*new_grayi,j-1+grayi-1,j+1-grayi-1,j-1+new_grayi+1,j+1-new_grayi+1,j-1)dyi,j=(2*new_grayi+1,j-2*new_grayi-1,j+grayi+1,j+1-grayi-1,j+1+new_grayi+1,j-1-new_grayi-1,j-1)dxi,j=new_grayi,j+1-new_grayi,jdyi,j=new_grayi+1,j-new_grayi
5、,jdxi,j=new_grayi,j+1-new_grayi,j+new_grayi+1,j+1-new_grayi+1,jdyi,j=new_grayi+1,j-new_grayi,j+new_grayi+1,j+1-new_grayi,j+1#dx2i,j=new_grayi+1,j+1-new_grayi,jdy2i,j=new_grayi-1,j+1-new_grayi,jdy2i,j=new_grayi-1,j+1-new_grayi,jdxi,j=new_grayi,j+1-2*new_grayi,j+new_grayi,j-1dyi,j=new_grayi+1,j-2*new_
6、grayi,j+new_grayi-1,jdi,j=np.sqrt(np.square(dxi,j)+np.square(dyi,j)#圖像梯度幅值作為圖像強度值#di,j=np.sqrt(np.square(dxi,j)+np.square(dyi,j)+np.square(dx2i,j)+np.square(dy2i,j)#圖像梯度幅值作為圖像強度值plt.imshow(d,cmap=gray)setp3.非極大值抑制NMSW2,H2=d.shapeNMS=np.copy(d)NMS0,:=NMSW2-1,:=NMS:,0=NMS:,H2-1=0p=0.5foriinrange(1,W2-
7、1):forjinrange(1,H2-1):ifdi,j=0:NMSi,j=0else:gradX=dxi,jgradY=dyi,jgradTemp=di,j#如果Y方向幅度值較大ifnp.abs(gradY)np.abs(gradX):weight=np.abs(gradX)/np.abs(gradY)grad2=di,j+p*(di-1,j-di,j)grad4=di,j+p*(di+1,j-di,j)#如果x,y方向梯度符號相同ifgradX*gradY0:grad1=di,j-1+p*(di-1,j-1-di,j-1)grad3=di,j+1+p*(di+1,j+1-di,j+1)#
8、如果x,y方向梯度符號相反else:grad1=di,j+1+p*(di-1,j+1-di,j+1)grad3=di,j-1+p*(di+1,j-1-di,j-1)#如果X方向幅度值較大else:weight=np.abs(gradY)/np.abs(gradX)grad2=di,j+p*(di,j-1-di,j)grad4=di,j+p*(di,j+1-di,j)#如果x,y方向梯度符號相同ifgradX*gradY0:grad1=di+1,j+p*(di-1,j+1-di+1,j)grad3=di-1,j+p*(di-1,j+1-di-1,j)#如果x,y方向梯度符號相反else:grad
9、1=di-1,j+p*(di-1,j-1-di-1,j)grad3=di+1,j+p*(di+1,j+1-di+1,j)gradTemp1=weight*p*grad1+(1-weight*p)*grad2gradTemp2=weight*p*grad3+(1-weight*p)*grad4ifgradTemp=gradTemp1andgradTemp=gradTemp2:NMSi,j=gradTempelse:NMSi,j=0#plt.imshow(NMS,cmap=gray)#hist=cv2.calcHist(NMS,0,None,256,0,256)#hist=cv2.calcHist
10、(NMS,0,None,256,0,256)#util.image_read(NMS)arr=NMS.flatten()arrs=foriinarr:ifi!=0andi!=255:arrs.append(i)#arrs=arrprint(hk,NMS.shape)n,bins,patches=plt.hist(arrs,bins=256,normed=1,facecolor=green,alpha=0.75)a,b=pre.OTSU(arrs)print(a,b)plt.show()#print(arr)#step4.雙閾值算法檢測、連接邊緣W3,H3=NMS.shapeDT=np.zero
11、s(W3,H3)#定義高低閾值TL=0.15*np.max(NMS)TH=0.3*np.max(NMS)print(叮HTH,TH)TL=(2/3)*bTH=bforiinrange(1,W3-1):forjinrange(1,H3-1):if(NMSi,jTH):DTi,j=255elif(NMSi-1,j-1:j+1TH).any()or(NMSi+1,j-1:j+1).any()or(NMSi,j-1,j+1best_M:best_M=M;best_k=k;returnbest_M,best_kfromskimageimportdata,exposure,img_as_floatdefg
12、et_image(path):#獲取圖片img=cv.imread(path)gray=cv.cvtColor(img,cv.C0L0R_BGR2GRAY)returnimg,graydefsmothing(gray):#均衡化gray=exposure.adjust_gamma(gray,0.8)img1=cv.equalizeHist(gray)img1=cv.equalizeHist(img1)aussian=cv.GaussianBlur(img1,(5,5),1)dst=cv.medianBlur(aussian,5)#dst=cv.medianBlur(dst,7)#dst=min
13、.max_min_valueilter(dst,ksize=2,mode=2)#dst=min.fillHole(dst)”銳化”#kernel=np.array(0,-1,0,-1,5,-1,0,-1,0,np.float32)#銳化#dst=cv.filter2D(dst,-1,kernel=kernel)#blurred=cv2.GaussianBlur(gray,(3,3),0)returndstdefThresh_and_blur(gray,gradient):defThresh_and_blur(gray,gradient):#blurred=cv2.GaussianBlur(gr
14、adient,(5,5),0)#(_,thresh)=cv2.threshold(blurred,0,255,cv2.THRESH_BINARY)#otsuM,k=OTSU(gradient)print(M,k)ret,thresh=cv.threshold(gray,k,255,cv.THRESH_BINARY)returnthreshdefimage_morphology(thresh):#建立一個橢圓核函數(shù)kernel=cv.getStructuringElement(cv.MORPH_ELLIPSE,(3,3)thresh=cv.dilate(thresh,kernel,iterations=1)closed=cv.erode(thresh,kernel,iterations=2)#腐蝕#closed=cv.morphologyEx(closed,cv.MORPH_ELLIPSE,kernel)opening=cv.mor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國表面肌電測試系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國一次鋰亞硫酰氯電池行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國動態(tài)圖像粒度粒形分析系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2023年全球及中國無人駕駛接駁小巴行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025小飯店員工的勞動合同范本
- 出境旅游合同書
- 2025辦公室裝修合同書集錦
- 房產(chǎn)股權轉讓合同
- 存量房買賣合同合同范本
- 陸路貨物運輸合同承運人定義年
- 2023學年度第一學期高三英語備課組工作總結
- 臨建標準化圖集新版
- 安監(jiān)人員考核細則(2篇)
- 生活老師培訓資料課件
- 2020年新概念英語第一冊lesson97-102單元檢測
- 腹主動脈瘤(護理業(yè)務學習)
- 注射用醋酸亮丙瑞林微球
- 大學生就業(yè)指導PPT(第2版)全套完整教學課件
- 家具安裝工培訓教案優(yōu)質(zhì)資料
- 湖南大一型抽水蓄能電站施工及質(zhì)量創(chuàng)優(yōu)匯報
- envi二次開發(fā)素材包-idl培訓
評論
0/150
提交評論