canny算子邊緣檢測的優點「canny算子邊緣檢測」

5分鐘內了解Canny邊緣檢測

邊緣檢測是圖像處理的主要組成部分。 儘管基於卷積神經網絡等基於深度學習的技術可以執行非常複雜的邊緣檢測(即具有變化的曲率,噪聲,顏色等的邊緣),但在某些情況下,經典的邊緣檢測方法仍然具有很高的意義! 例如,如果已知數據是簡單且可預測的; 與CNN相比,Canny邊界檢測可以立即使用,而CNN的實現通常較為複雜。

邊緣檢測的基本知識

大多數經典的邊緣檢測算法都是基於一階導數的概念。在下圖中,我們可以看到一個理論邊緣輪廓,y軸是像素強度,x軸是圖像中的物理位置。在圖像的邊緣位置,有一個從低強度到高強度的快速過渡,反之亦然。這個過渡的速度越快,邊緣將會出現。為了檢測邊緣,我們只需取像素強度的一階導數,然後尋找如下圖所示的最大值!

5分鐘內了解Canny邊緣檢測

Canny邊緣檢測

通常將該導數與高斯濾波器相結合,一步完成圖像平滑和邊緣檢測。由於導數和高斯濾波器的卷積都是線性運算,所以我們直接對圖像應用微分高斯濾波器即可!下面的示例5×5過濾器完成了這個操作,使用這個過濾器= 1。

5分鐘內了解Canny邊緣檢測

這樣會產生一個輸出,該輸出已經高亮顯示了邊緣的位置! 但是,Canny的優點是可以產生非常薄和乾淨的邊緣。 下一步,非最大抑制(NMS)將實現這一目標。 通過跟蹤輸出圖像中的高值,然後檢查3×3鄰域中的最大梯度來完成NMS。 中心像素必須在垂直於邊緣的方向上最高,否則將被設置為0。

在下面的示例中,我們看到一個7×7矩陣,其中的採樣輸出來自高斯濾波器。 較高的值將表明該位置的一階導數較高! 為了執行NMS,我們沿着邊緣方向進行跟蹤,然後將其設置為0(如果它們不是邊緣法線方向的最大值)(即紅色軸)。 因此,在NMS之後,藍色單元將保留,灰色單元將全部設置為0。 我們看到這提供了只有一個像素寬的精細邊緣輸出!

5分鐘內了解Canny邊緣檢測

Canny邊緣檢測的另一個重要組成部分是滯後閾值。 這聽起來超級複雜,但是非常簡單! 此步驟與NMS一起執行,其主要思想是防止噪聲邊緣在最終邊緣檢測中引起碎片。 選擇2個閾值,其中T1> T2。 僅當梯度值大於T1時才開始NMS跟蹤,僅當梯度值小於T2時才停止NMS跟蹤。 這樣可以確保NMS跟蹤對邊緣的噪聲具有一定的魯棒性,該邊緣可以通過T1和T2值進行控制。

總結

Canny 邊緣檢測是很流行的邊緣檢測算法,是在1986年由John F.Canny提出的。儘管Canny 邊緣檢測和各種經典的邊緣檢測方法似乎被流行的CNN和深度學習方法所掩蓋,但我們不應該忘記它們的簡單性和有效性。 有時,嘗試經典解決方案要容易得多,並且它可能比您預期的要好!

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/207946.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 14:41
下一篇 2024-12-08 14:41

相關推薦

發表回復

登錄後才能評論