步驟
1.將圖片灰度化
2.將圖片進行高斯濾波
3.將計算梯度值和方向
4.非極大值抑制
5.雙閾值選取
6.邊緣檢測
原理
步驟1上來先濾波。理論上將圖像梯度幅值的元素值越大,說明圖像中該點的梯度值越大,但這不能說明該點就是邊緣。在Canny算法中,非極大值抑制(步驟3)
是進行邊緣檢測的重要步驟,通俗意義上是指尋找像素點局部最大值,沿着梯度方向,比較它前面和后面的梯度值進行了。步驟4,是一個典型算法,有時候我們
並不像一刀切,也就是超過閾值的都是邊緣點,而是設為兩個閾值,希望在高閾值和低閾值之間的點也可能是邊緣點,而且這些點最好在高閾值的附近,也就是說
這些中間閾值的點是高閾值邊緣點的一種延伸。所以步驟4用了雙閾值來檢測和連接邊緣。