趙 潔,李 瑋,郝志鵬,彭慧卿
(天津城市建設學院 電子與信息工程系,天津 300384)
邊緣檢測是圖像分割、目標區域識別和特征提取等數字圖像分析領域中的重要技術,目前已經成為機器視覺研究領域最活躍的熱點課題之一。傳統邊緣檢測方法包括Roberts算子、Sobel算子等一階微分算子,以及Laplacian算子、LOG算子等二階微分算子[1]。這類算法以滿足一階導數極大值點或者二階導數過零點作為圖像的候選邊緣點,通過人為設定的全局閾值作為評價標準去除噪聲與弱邊緣點,將梯度值小于閾值的候選邊緣點刪除。由于微分運算對噪聲比較敏感,抗噪聲性能差,提取的邊緣不夠精細,因此在實際應用中受到了限制[2]。對于邊緣檢測算子性能優劣,Canny提出了三個評價準則[2]:高信噪比準則、定位精準準則和單一邊緣唯一響應準則,并據此提出了Canny邊緣檢測算子。實際應用證明,Canny算子具有較好的邊緣檢測效果,因此迄今為止一直被廣泛應用。
近年來,很多學者都提出了基于Canny算子的改進算法,但大多數都是針對如何解決自適應確定雙閾值的問題[3-5]。傳統Canny算法采用高斯濾波器消除圖像噪聲,不僅會造成圖像的過度光滑,而且容易造成緩變邊緣的丟失,這樣會導致復雜圖像的弱邊緣無法檢測。另外,傳統Canny算子中梯度幅值的計算方法沒有充分考慮到3×3鄰域內周圍像素對中心像素的影響。針對上述問題與不足,結合小波融合技術的優勢,本文提出了一種基于改進Canny算子與圖像形態學融合的邊緣檢測方法。仿真結果表明,該算法有效地提高了邊緣檢測的準確性和完整性。

圖1 3×3窗口中的梯度算子
Canny算子首先采用二維高斯函數構造濾波器,分別按行和列對原始圖像進行卷積運算,得到平滑圖像I(x,y):

其中,σ為高斯函數的均方差,控制著平滑程度。
Canny算法一般采用2×2鄰域內一階偏導的有限差分來近似計算平滑后的圖像I(x,y)的梯度幅值和方向。x與y方向的偏導數陣列Px(i,j)和Py(i,j)分別為:
非極大值抑制的目的是找到I(x,y)中所有可能的邊緣點,基本思想是使一個3×3鄰域作用于梯度幅值陣列M(i,j)的所有點,如果鄰域中心點的梯度幅值M(i,j)比沿梯度方向上的兩個相鄰點幅值大,則將當前的鄰域中心點判別為可能的邊緣點,否則將M(i,j)賦值為零,判別為非邊緣點。
Canny算子對非極大值抑制的子圖像分別使用高低兩個閾值 τh和 τl,且 τh≈2τl,從而得到兩個閾值邊緣圖像Th(i,j)和Tl(i,j)。雙閾值算法要在Th(i,j)中把邊緣連接成輪廓,當到達輪廓的端點時,就在Tl(i,j)的8-鄰域位置尋找可以連接到輪廓上的邊緣,這樣算法將不斷地在Tl(i,j)中檢測邊緣,直到將Th(i,j)中所有的間隙連接起來。
中值濾波是一種非線性濾波方法,可以克服線性濾波器(如高斯濾波)給圖像帶來的邊緣模糊,它能在濾除噪聲的同時很好地保持圖像邊緣。本文采用的是自適應中值濾波方法,對于密度較大的脈沖噪聲,它比傳統的中值濾波方法更能有效地抑制濾波造成的邊緣模糊問題,保護圖像邊緣細節。設fij為圖像點(i,j)的灰度,Aij為中值濾波的當前工作窗口,fmin、fmax和 fmed分別為 Aij中的灰度最小值、最大值和中值,Amax為允許最大窗口。則自適應中值濾波算法的基本步驟如下[6]:
(1)若 fmin<fmed<fmax,則轉至步驟(2),否則增大窗口 Aij的尺寸。若Aij的尺寸小于Amax的尺寸,則重復步驟(1),否則輸出 fij;
(2)若 fmin<fij<fmax,則輸 出 fij,否則輸出 fmed。
由于圖像邊緣可能以任意角度通過像素陣列,因此通過分別計算平滑后圖像 I(x,y)的3×3窗口中心像素 x方向、45°方向、y方向、135°方向的一階偏導數有限差分均值來確定像素點的梯度幅值,充分考慮到各個方向對中心點梯度幅值的影響,最大限度地減少誤差。借鑒于Sobel算子,這4個方向上的梯度算子如圖1所示,對離鄰域中心點最近的像素進行了加權,增強了抑制噪聲的效果。
3×3窗口中心像素點的梯度幅值 M(i,j)和梯度方向θ(i,j)的計算如下:

圖像形態學的基本思想是利用一個具有一定形態的稱為結構元素的“探針”收集圖像的信息,當探針在圖像中不斷移動時,便可度量和提取圖像中對應形狀間的相互關系以達到圖像分析和識別的目的[6]。圖像形態學的基本運算包括灰度膨脹 f⊕b、灰度腐蝕 fΘb、灰度開運算 f οb和灰度閉運算 f·b。
傳統的形態學邊緣檢測算子的基本思想是對原始圖像做形態學梯度處理,使輸入圖像灰度變化更加尖銳,進而檢測到圖像邊緣。借助上述各種形態學基本運算,常用的形態學梯度MG具有以下幾種表示形式:

圖像融合是將同一對象的兩幅或更多幅圖像合成為一幅圖像,以獲取對同一場景的更為精確、更為全面、更為可靠的圖像描述。小波變換是圖像的多尺度、多分辨率分解,它可以聚焦到圖像的任意細節。基于小波變換的圖像融合的基本原理如下[7-8]:如果一個圖像進行L層小波分解,將得到(3L+1)層子帶,其中包括低頻的基帶 Cj和 3L層的高頻子帶 Dh、Dv和 Dd。 用 f(x,y)代表原始圖像,記為 C0,設尺度系數 Φ(x)和小波系數 ψ(x)對應的濾波器系數矩陣分別為H和G,則二維小波分解算法可以描述為:

其中,j表示分解層數;h、v、d分別表示水平、垂直、對角分量;HT和GT分別是H、G的共軛轉置矩陣。小波的重構算法為:

本文提出的基于圖像融合的邊緣檢測算法流程如圖2所示,具體實現過程如下:
(1)對采用改進的Canny算子進行邊緣檢測:①采用3×3窗口的自適應中值濾波進行圖像平滑;②采用改進的8-鄰域梯度幅值方法計算梯度的幅值和方向;③對梯度幅值應用非極大值抑制;④用雙閾值算法檢測和連接邊緣。
(2)采用式 (1)的形態學邊緣檢測算子進行邊緣檢測,結構元素為半徑為3的圓盤。
(3)將上述得到的兩幅邊緣圖像應用小波的融合技術進行圖像融合:①對兩幅邊緣圖像進行三層二維DWT分解,得到圖像的低頻分量和高頻分量;②取兩幅圖像的低頻和高頻分量的平均值進行融合;③經過小波逆變換重構融合后的邊緣圖像。

圖2 本文算法流程圖
實驗所用PC機配置為:AMD Sempron 3200+CPU,1GB內存,集成顯卡,仿真實驗采用Matlab7.0編程。選取加入1%椒鹽噪聲的Lena灰度圖像作為測試圖像,分別用傳統Canny算法和本文提出的融合算法進行邊緣檢測,實驗結果如圖3~圖6所示,算法運算時間及相應參數如表1所示。

圖3 含1%椒鹽噪聲Lena圖像

圖4 傳統Canny算子檢測結果

圖5 改進的Canny算子檢測結果

圖6 改進Canny算子與圖像形態學融合算法檢測結果

表1 算法運算時間的比較
由圖4、圖 5比較可知,傳統Canny算子對椒鹽噪聲非常敏感,而改進的Canny算子具有較強的噪聲抑制能力,并且保持了Canny算子檢測邊緣清晰連貫的優勢,兼顧了平滑噪聲和抑制假邊緣的需要;由圖5、圖6的檢測結果比較可知,本文提出的融合算法豐富了部分灰度變化緩慢的局部邊緣細節信息,具有更好的抗噪能力和細節保留能力,可以檢測出比較完整并且連續的邊緣,使邊緣檢測結果有明顯改善。從表1的運算時間可知,本文算法與傳統Canny算法的所需時間相當,在提高檢測效果的同時沒有明顯降低檢測效率。
本文結合小波融合技術的優勢提出了一種基于改進Canny算子與圖像形態學融合的邊緣檢測方法,仿真實驗表明該算法檢測提取的圖像邊緣包含了比原始圖像更加豐富的邊緣細節和更加完整的輪廓信息,提高了邊緣定位的精度及準確度,兼顧了平滑噪聲和抑制假邊緣的需要,檢測出的邊緣連續性好,是一種有效的邊緣檢測方法。
[1]孫即祥.圖像處理[M].北京:科學出版社,2005.
[2]CANNY J.A Computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intell-igence,1986,8(6):679-698.
[3]黃劍玲,鄒輝.一種精確的自適應圖像邊緣提取方法[J]. 計算機工程與科學,2009,31(9):53-55.
[4]雒濤.改進的自適應閾值Canny邊緣檢測[J].光電工程,2009,36(11):106-111.
[5]王衛星.一種基于最大類間后驗概率的Canny邊緣檢測算法[J].計算機應用,2009,29(4):962-965.
[6]何明一,衛保國.數字圖像處理[M].北京:科學出版社,2008.
[7]張德豐.MATLAB數字圖像處理[M].北京:機械工業出版社,2009.
[8]陳浩,王延杰.基于小波變換的圖像融合技術研究[J].微電子學與計算機,2010,27(5):39-41.