【摘要】本文將Canny算子應用于彩色圖像,針對單尺度濾波器的缺點,本文采用改進的多尺度濾波器對彩色圖像進行平滑。通過實驗證明,本文所采取的彩色圖像邊緣檢測方法對噪聲有很好的抑制作用,并且能夠提取比較完整的圖像邊緣,是一種有效的檢測方法。
【關鍵詞】彩色圖像;Canny算子;多尺度高斯濾波器
1、引言
邊緣檢測是圖像處理中最基礎也是最重要的部分。其中有關灰度邊緣檢測的算子眾多,有Sobel、Laplace、Roberts、Prewitt、Kisch和Laplacian、Canny等算子[1],然而,在我們現實生活中的大部分圖像是彩色圖像,與灰度圖像相比,彩色圖像能提供更多、更豐富的信息。經過大量的實驗證明,10%的邊緣信息通過灰度邊緣檢測算子是檢測不出來的[2],可能會丟失一些重要信息。所以彩色圖像邊緣檢測越來越受到人們的關注。
本文選取在RGB顏色空間中進行彩色圖像邊緣檢測,利用Canny算子對彩色圖像進行邊緣檢測,能夠繼承Canny算子定位準確,單邊響應,信噪比高等優點。然而,Canny算子在進行平滑圖像的過程中,采用單尺度高斯濾波器,不能很好的濾除復雜繁多的噪點,針對這些問題,本文采取了一些措施。
2、算法原理
2.1 多尺度高斯濾波器平滑圖像
利用不同尺度的高斯函數對圖像進行濾波,在每個尺度下分別對R、G、B三個分量多維磨光形成新的真彩色圖像。在本文中選取四個不同尺度的濾波器,分別對圖像的3個分量進行濾波,然后對三個分量的四個不同結果進行加權求和,最后輸出一個濾波圖像。
假設,我們選取的四個不同尺度分別是,則利用這四個不同尺度的高斯函數分別對輸入圖像的R、G、B三分量進行平滑。對得到的三分量進行加權求和,最后得到一個平滑后的圖像,之后對這兩個圖像進行后續處理。
假設,加權權值,它們的取值與四個不同尺度的選擇有關。在本文中取分別為:
(1)
最后得到的濾波圖像的三分量為公式(2):其中,分別表示經過四個不同尺度濾波器對三個顏色分量濾波后的三分量圖。
(2)
最后對這三分量濾波后的圖像進行合成,形成的真彩色圖像就是最終濾波后的彩色圖像。通過這種方法可以對不同尺度的噪聲進行濾波,解決了之前單一尺度濾波的不足。
2.2 計算圖像梯度幅值和方向
通過高斯平滑后得到的數據陣列,再利用鄰域一階偏導的有限差分來計算平滑后的數據陣列的梯度幅值和方向。其中,x和y方向偏導數的兩個陣列
(3)
(4)
每個像素點的梯度幅值和梯度方向分別為:
(5)
(6)
2.3 非極大值抑制
由計算梯度得到的邊緣一般具有多個像素點的寬度,為了能提取單個像素的邊緣,就必須細化梯度幅值圖,讓邊緣像素點保持一個像素點的寬度,這樣的檢測邊緣才算優質[3]。因此需要進行非極大值抑制使邊緣寬度變細,具體方式就是在每一個點上,鄰域的中心像素與沿梯度的方向上的兩個像素的梯度幅值作比較,保留幅值局部變化最大的點,并且局部最大值的像素點標志為1,否則標志為0,標志為1的像素點表示可能是邊緣點,從而需要進一步處理;對標志為0的像素點,則認為此點是非邊緣點,之后不再做處理。通過這種方式可以將邊緣的寬度細化成只有一個像素點寬度,優化了圖像邊緣。
2.4 雙閾值檢測與邊緣連接
分別設置高、低閾值和,且,如果梯度值大于,則把這個像素標志為1,就表示這個像素點是邊緣像素;如果梯度值小于,則把這個像素標志為0,就表示這個像素點不是邊緣像素。經過雙閾值檢測完之后,得到兩個閾值邊緣圖像和,因此偽邊緣很少,且有斷點,而含有的邊緣信息較多,然而偽邊緣較多,因此需要進行邊緣連接。以圖像為基礎,圖像為補充來獲得相對比較完整的邊緣。
3、實驗結果與分析
本文采用的實驗平臺為Pentium(R)Dual-Core CPU,512MB內存,310M顯存的計算機,用matlabR2010a編程,使用以上的步驟對彩色圖像進行邊緣檢測。對彩色圖像分別采用傳統的Canny算子和本文提出的算子進行邊緣檢測,實驗結果如下圖3.1所示:
(a)原始圖像(b)傳統算法(c)本文算法
圖3.1 對“Lena”圖像進行邊緣檢測對比圖
實驗結果分析:從實驗結果中很容易發現,圖3.1(b)中有明顯的間隙,在帽子還有臉部明顯沒有檢測出邊緣,檢測出的邊緣相對來說比較少,圖3.1(c)中,很明顯,邊緣信息保留的比較完整。所以,可以證明,本文采取的方法相比傳統Canny算子的效果要有所改善。
4、結論
本文將Canny算子應用于彩色圖像,并且在RGB顏色空間,利用多尺度濾波器平滑圖像,與傳統的Canny算子相比,本文所采取的方法不僅保留了傳統Canny算子定位準確,單邊緣響應等優點,并且提高了算子的信噪比,相對比較完整的提取了邊緣信息,抑制了假邊緣的產生。
參考文獻:
[1] 任文杰.圖像邊緣檢測方法的研究[D].濟南:山東大學.2008
[2] 董鴻燕,沈振康.邊緣檢測的若干技術研究[D].長沙:國防科技大學,2008
[3] 王佐成,劉曉冬,薛麗霞.Canny算子邊緣檢測的一種改進方法[J].計算機工程與應用,2010,46(34)