石桂名等
摘 要: 圖像邊緣檢測是一種非常經(jīng)典的基于計算機視覺技術的圖像處理技術,主要是根據(jù)圖像的某種特定信息,把目標的邊緣與周圍的區(qū)分開來?;仡櫫藥追N傳統(tǒng)的邊緣檢測方法,并分析它們的優(yōu)缺點,詳細闡述了Canny算子的檢測原理和實驗方法。實驗結(jié)果表明Canny算子是最優(yōu)的邊緣檢測算子,能夠較穩(wěn)定地對目標圖像進行邊緣信息提取,得到較好的檢測效果。
關鍵詞: 圖像處理; 邊緣檢測; Canny算子; 參數(shù)選擇
中圖分類號: TN911.73?34 文獻標識碼: A 文章編號: 1004?373X(2015)12?0092?02
邊緣檢測算法是圖像處理中的一個重要部分,本文比較了幾種常用的傳統(tǒng)邊緣檢測算法,分析Canny算法的含義、原理和步驟,并將Canny算法應用于車牌和動物的檢測。實驗仿真結(jié)果驗證了Canny算法的良好性能:提取緣信息的同時,能很好地抑制噪聲的干擾,提高了圖像邊緣檢測效果,但對于某些細節(jié)過于復雜的圖像可能丟失一些信息。
1 邊緣檢測算法簡介
Roberts算子是一種利用局部差分來尋找邊緣的邊緣檢測算子,它處理的邊緣效果不是很好,不夠平滑。Sobel算子是濾波算子,用于提取邊緣時,可以利用快速卷積函數(shù),方法簡單,使用率較高,但是不能嚴格地模擬人的視覺生理特征,提取的圖像輪廓并不能令人滿意[1]。Prewitt算子是一種基于一階微分算子的邊緣檢測,利用像素點周圍鄰點的灰度差,在邊緣處達到極值檢測邊緣,除掉一些假邊緣,起到了平滑噪聲的功能。Laplacian算子是一個二階微分算子,定義為梯度([?f])的散度([??f])。LoG算子也就是高斯拉普拉斯函數(shù),常常用于數(shù)字圖像的邊緣提取和二值化,它結(jié)合了Gauss平滑濾波器和Laplacian銳化濾波器,效果更好。Canny算子是一個多級邊緣檢測算法,邊緣檢測效果最好[2?3]。
2 Canny邊緣檢測算子
2.1 Canny算法的含義
1986年,John F.Canny找到一個可以實現(xiàn)多級邊緣檢測的算法,命名為Canny邊緣檢測算子,其含義如下[4]:
(1) 最佳檢測:能夠檢測到足夠多的圖像中實際的邊緣,減少真實邊緣的漏檢率和誤檢率。
(2) 最佳定位準則:檢測到的邊緣點的位置距離實際邊緣點的位置最近。
(3) 檢測點與邊緣點一一對應:算子檢測的邊緣點與實際邊緣點是一一對應。為了滿足這種條件,最優(yōu)檢測指數(shù)函數(shù),它與高斯函數(shù)的一階導數(shù)極為相似。
2.2 Canny算法的步驟
2.2.1 用高斯濾波器平滑圖像
圖像在進行邊緣檢測時,首先要處理原始數(shù)據(jù),以便于更好地實現(xiàn)邊緣檢測圖像分割效果。所以開始時就需要原始數(shù)據(jù)與高斯mask做卷積,處理后的圖像比原來模糊了一些,有利于圖像邊緣檢測的進行。
由于高斯函數(shù)經(jīng)傅里葉變換后還是高斯函數(shù),能構(gòu)成一個在頻域具有平滑性能的低通濾波器:
經(jīng)過以上兩組圖片對比,發(fā)現(xiàn)Canny算子適合于用于提取信息相對簡單的圖像,效果明顯;但對于一些細節(jié)復雜的圖像來說,分割效果不明顯,會出現(xiàn)邊緣丟失和邊緣誤判的情況,需要在后續(xù)的算法中不斷改進。
4 結(jié) 語
Canny算子邊緣檢測相對其他的算子得到的處理圖像效果更明顯,邊緣更細致,其他的算子的邊緣檢測得到的圖像邊緣并不十分明顯。Canny邊緣檢測算子根據(jù)對信噪比與定位乘積進行測度,得到最佳的逼近算子,所以得到的圖像邊緣會更清晰。它也有些缺點,無法有效地處理噪聲的影響問題,會產(chǎn)生許多不存在的邊緣,不便于觀察。因此,在不同的情況下應選擇相應的算法來達到檢測目的。
參考文獻
[1] 段瑞玲,李慶祥,李玉和.圖像邊緣檢測方法研究綜述[J].光學技術,2005(3):415?419.
[2] 徐獻靈,林奕水.圖像邊緣檢測算法比較與分析[J].自動化與信息工程,2007(3):44?46.
[3] 王靜,李竹林,賀東霞,等.基于邊緣檢測的各種算子及其特點[J].延安大學學報:自然科學版,2014(1):5?8.
[4] 王佐成,劉曉冬,薛麗霞.Canny算子邊緣檢測的一種改進方法[J].計算機工程與應用,2010(34):202?204.
[5] 曾發(fā)明,楊波,吳德文,等.基于Canny邊緣檢測算子的礦區(qū)道路提取[J].國土資源遙感,2013(4):72?78.
[6] 韋煒.常用圖像邊緣檢測方法及Matlab研究[J].現(xiàn)代電子技術,2011,34(4):91?94.