Canny邊緣檢測


Canny邊緣檢測分為四步:

1、圖像降噪:使用高斯濾波器,平滑圖像,濾除噪聲,噪聲是灰度值變化較大的部分,容易被識別為噪聲

2、計算圖像梯度:圖像的梯度即為圖像的灰度值的變化最快的地方,梯度的模即為方向導數的最大值(將圖像看作函數),邊緣也是灰度值變化最快的地方

3、非極大值抑制:將局部范圍內的梯度方向上,灰度變化最大的保留下來,其它的不保留,這樣可以剔除掉一大部分的點。

4、應用雙閾值來確定真實和潛在的邊緣:通過非極大值抑制后,仍然有很多的可能邊緣點,進一步的設置一個雙閾值,即低閾值(low),高閾值(high)。灰度變化大於high的,設置為強邊緣像素,低於low的,剔除。在low和high之間的,如果與邊界相連則保留,否則丟棄。

 

圖像梯度解釋非常好的博客:https://blog.csdn.net/saltriver/article/details/78987096

 

img_l = cv2.Canny(img1, 50, 150)
img_r = cv2.Canny(img1, 200, 300)


img = np.hstack((img_l, img_r))
cv2.imshow('img', img)

cv2.waitKey(0)
cv2.destroyAllWindows()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM