云南民族大學(xué) 朱 葉 王嘉梅 趙繼勇 嫣志勇
邊緣檢測技術(shù)是數(shù)字圖像處理中的一項(xiàng)重要技術(shù),邊緣檢測的主要目的就是實(shí)現(xiàn)對(duì)目標(biāo)圖像的精確定位。邊緣是圖像的基本特征,是圖像分割的重要依據(jù),也是紋理特征的重要信息源和形狀特征分析的基礎(chǔ),邊緣檢測的效果將直接影響到圖像理解和識(shí)別的性能[1]。經(jīng)典的邊緣檢測算子,如Robert、Prewitt、Log等,簡單、易于實(shí)現(xiàn),但對(duì)噪聲敏感、抗干擾性能差,邊緣不夠精細(xì)[2]。相比這些算子,Canny算子具有更好的信噪比和檢測精度,在圖像邊緣檢測領(lǐng)域中具有更加廣泛的應(yīng)用范圍。
但是,實(shí)際圖像中,存在著許多噪聲,這時(shí),若仍采用傳統(tǒng)Canny算子進(jìn)行邊緣檢測,會(huì)將一些噪聲點(diǎn)誤作邊緣點(diǎn)檢測,導(dǎo)致提取的邊緣輪廓模糊、不精確,因此,我們需要對(duì)傳統(tǒng)Canny算子加以改進(jìn)。
本文提出了一種基于Canny算子而改進(jìn)的邊緣檢測算法,該算法既可以較好地濾除噪聲,又可以提高目標(biāo)邊緣的定位精度、抑制虛假邊緣和去除冗余弱邊緣,呈現(xiàn)出了一個(gè)更為清晰的圖像邊緣檢測結(jié)果,比傳統(tǒng)Canny算法具有更好的性能。
Canny提出了邊緣檢測性能優(yōu)劣的3個(gè)判斷準(zhǔn)則[3]:
高信噪比準(zhǔn)則:即輸出信號(hào)的信噪比最大,以降低邊緣點(diǎn)判斷為非邊緣點(diǎn)和非邊緣點(diǎn)判為邊緣點(diǎn)的概率。信噪比越大,誤檢率越低。
高定位精度準(zhǔn)則:好的定位性能,即檢測出的邊緣點(diǎn)要盡可能在實(shí)際邊緣的中心
單邊緣相應(yīng)準(zhǔn)則:即單一邊緣只有惟一響應(yīng),并且對(duì)虛假邊緣響應(yīng)應(yīng)得到最大抑制。
(1)高斯濾波
用一維高斯函數(shù)對(duì)原始圖像f(x,y)進(jìn)行低通濾波、噪聲濾除,該高斯函數(shù)為:
δ為高斯濾波函數(shù)的標(biāo)準(zhǔn)差,控制著平滑程度:σ較小時(shí),濾波器定位精度高,但信噪比低;σ較大時(shí),濾波器情況正好相反。我們要根據(jù)實(shí)際情況確定δ的大小。
(2)計(jì)算梯度幅值和方向
傳統(tǒng)的Canny算法采用2×2鄰域一階偏導(dǎo)的有限差分來計(jì)算平滑后的圖像的梯度幅值和方向:
(3)非極大值抑制
將邊緣的梯度方向按照水平、豎直、45°和135°四個(gè)方向,用不同的鄰近像素進(jìn)行比較,確定局部極大值。若某個(gè)像素的灰度值與梯度方向上前后兩個(gè)像素的灰度值相比不是最大,該點(diǎn)即為非邊緣點(diǎn),刪除;否則,即為待選邊緣點(diǎn),保留。這個(gè)過程稱為“非極大值抑制”。
(4)雙閾值法檢測和連接邊緣
用高、低閾值對(duì)經(jīng)非極大值抑制的結(jié)果檢測,得到高閾值邊緣圖像Th和低閾值邊緣圖像lT,然后,以圖像Th為基礎(chǔ),用圖像Tl來補(bǔ)充連接圖像邊緣。
Canny算子因其優(yōu)越的邊緣檢測性能得到了廣泛應(yīng)用,但實(shí)際中圖像易受噪聲污染,如光照、油漬等,這時(shí),如果仍用傳統(tǒng)Canny算法,一方面不能有效濾除噪聲,另一方面會(huì)出現(xiàn)偽邊緣或邊緣丟失。
傳統(tǒng)Canny算子用高斯函數(shù)對(duì)圖像平滑濾波,有較強(qiáng)的抑制噪聲能力;但會(huì)造成邊緣丟失,對(duì)高頻細(xì)節(jié)的保護(hù)效果不佳。這是因?yàn)?,Canny算子在對(duì)圖像高斯濾波時(shí),邊緣作為高頻部分易被平滑掉,一些邊緣就變成了緩變邊緣,進(jìn)行非極大值抑制的時(shí)候,緩變邊緣就容易丟失,造成邊緣檢測結(jié)果存在較明顯的模糊和邊緣丟失問題,效果欠佳。
雙邊濾波,Bilateral filter,既可以較好地濾除圖像噪聲,又可以保持較好的圖像邊緣信息,解決了高斯濾波的圖像模糊和邊緣丟失問題。本文充分結(jié)合雙邊濾波和Canny算子的優(yōu)越性,提出一種新的Canny邊緣檢測算法,該算法用濾波性能較好的雙邊濾波代替?zhèn)鹘y(tǒng)Canny邊緣檢測中的高斯濾波,對(duì)含噪圖像具有更好的邊緣檢測效果。
雙邊濾波是一種非線性的2D信號(hào)濾波方法[4],是圖像的空間臨近度和像素相似度的一種折衷處理[5],是通過像素的加權(quán)平均而定義的,利用強(qiáng)度的變化來保存圖像邊緣信息。設(shè)BF為雙邊濾波的符號(hào),由下式定義[6]:
d( p, q)和 δ (I( p ) ,I( q ))分別為圖像兩像素點(diǎn)的歐氏空間距離和像素的灰度差,δd和δr是基于高斯函數(shù)的標(biāo)準(zhǔn)差,決定著雙邊濾波器的濾波效果。
以MATLAB(R2008a)為實(shí)驗(yàn)平臺(tái),選取經(jīng)典Lena圖像,分別采用傳統(tǒng)Canny算法和本文改進(jìn)的Canny算法進(jìn)行邊緣檢測。圖1為加入了0.01高斯噪聲的Lena圖像邊緣檢測結(jié)果;圖2為加入了0.01椒鹽噪聲的Lena圖像邊緣檢測結(jié)果。
從圖1和圖2可以看出:傳統(tǒng)的Canny算法對(duì)噪聲較敏感,容易將噪聲點(diǎn)當(dāng)作邊緣點(diǎn)檢測,檢測出的邊緣輪廓不清楚,精確度較低,提取的邊緣信息過于冗雜,不能較好地顯示圖像的主要輪廓特征,不利于進(jìn)一步的圖像分析;本文算法對(duì)高斯噪聲和椒鹽噪聲的去噪和邊緣檢測效果均優(yōu)于傳統(tǒng)的Canny算法,能夠獲得更好的邊緣檢測圖像。圖(c)既去除了圖(b)中的大部分虛假邊緣,又避免了丟失很多真邊緣,邊緣輪廓明顯、清晰,連續(xù)性較好,提高了Canny算法邊緣檢測的信噪比、改善了噪聲干擾情況下邊緣檢測效果。
傳統(tǒng)的Canny邊緣檢測算子并不能得到最優(yōu)化的邊緣檢測結(jié)果,存在許多不足之處。本文提出的改進(jìn)Canny邊緣檢測算法能夠較好地濾除圖像噪聲、抑制虛假邊緣,保留了較完整和清晰的邊緣輪廓,具有更好的邊緣檢測效果,簡單實(shí)用,復(fù)雜度低,具備更好的推廣應(yīng)用價(jià)值。
[1]李二森,張保明,等.自適應(yīng)Canny邊緣檢測算法研究[J].測繪科學(xué),2008,33(6):66,120-121.
[2]陳志強(qiáng),高磊,等.一種優(yōu)化的Canny算子邊緣檢測法[J].電子測試,2011(6):43-46.
[3]李紅,胡方明,等.一種改進(jìn)的Canny邊緣檢測算法[J].微計(jì)算機(jī)信息,2008,24(12-3):304-305.
[4]靳明,宋建中.一種自適應(yīng)的圖像雙邊濾波方法[J].光電工程,2004,31(7):65-68.
[5]蔡超,丁明躍,周成平,等.小波域中的雙邊濾波[J].電子學(xué)報(bào),2004,32(1):128-131.
[6]王玉靈.基于雙邊濾波的圖像處理算法研究[D].西安電子科技大學(xué),西安電子科技大學(xué),2010.