張彬,司璇,金飛,袁叢鑫
(中國傳媒大學(xué)理學(xué)院,北京 100024)
圖像邊緣對人的視覺具有重要意義。一般而言,當(dāng)人們看一個(gè)有邊緣的物體時(shí),首先感覺到的便是邊緣?;叶然蚪Y(jié)構(gòu)等信息的突變處稱為邊緣。邊緣是一個(gè)區(qū)域的結(jié)束,也是另一個(gè)區(qū)域的開始,利用該特征可以分割圖像。圖像邊緣檢測的目的就是要檢測出符合邊緣特性的邊緣像素。邊緣檢測在計(jì)算機(jī)視覺、圖像分割、特征提取和圖像匹配等應(yīng)用中起著重要的作用,是圖像分析與識(shí)別的重要環(huán)節(jié)?;谝浑A導(dǎo)數(shù)的邊緣檢測算子包括Roberts算子、Sobel算子、Prewitt算子等,它們通過選取合適的閾值提取邊緣。拉普拉斯邊緣檢測算法是基于二階導(dǎo)數(shù)的邊緣檢測算子,該算子對噪聲敏感。Canny算子是另外一類邊緣檢測算子,它不是通過微分算子檢測邊緣,而是在滿足一定約束條件下推導(dǎo)出的邊緣檢測最優(yōu)化算子。
但是,在實(shí)際圖像中,常常存在著椒鹽噪聲等各種噪聲,這時(shí),采用經(jīng)典Canny算子進(jìn)行邊緣檢測時(shí),會(huì)將很大一部分噪聲點(diǎn)作為邊緣點(diǎn)提取出來,導(dǎo)致提取的邊緣信息不清晰等問題,為此需要對Canny算子的檢測步驟進(jìn)行改進(jìn)。因此,本文利用中值濾波對Canny算子進(jìn)行改進(jìn),再次進(jìn)行邊緣檢測。實(shí)驗(yàn)表明使用本算法得到的圖像邊緣特性清晰,噪聲消除明顯,并將這一方法與經(jīng)典Canny邊緣處理方法作了比較,再次說明了本方法是可行的和有效的。
Canny考察了以往的邊緣檢測算子和邊緣檢測應(yīng)用,發(fā)現(xiàn)盡管這些應(yīng)用出現(xiàn)在不同的領(lǐng)域,但都有一些共同的要求,他將其歸納為三條準(zhǔn)則:
準(zhǔn)則一:好的檢測結(jié)果,就是對邊緣的錯(cuò)誤檢測率要盡可能低,要檢測出圖像真實(shí)的邊緣,同時(shí)要避免檢測中出現(xiàn)虛假的邊緣,即要求輸出信噪比最大,這里的信噪比定義為:
其中h(x)是[-ω,ω]上的有限沖擊響應(yīng)濾波器,σ是高斯噪聲的均方差。由信號(hào)檢測理論知,輸出信噪比越大,錯(cuò)誤率越小。因此Canny準(zhǔn)則的第一條就是要尋求濾波函數(shù)h(x),使信噪比盡量大。
準(zhǔn)則二:好的邊緣定位精度,也就是標(biāo)記出的邊緣位置要和圖像上真正邊緣的位置盡量接近,邊緣定位精度定義如下:
其中x0是檢測出的邊緣位置,Loc值越大,表明定位越準(zhǔn)。因此Canny準(zhǔn)則的第二條就是要尋求濾波函數(shù)h(x)使Loc盡量大。
準(zhǔn)則三:對同一邊緣要有低的相應(yīng)次數(shù),也就是要求對一個(gè)邊緣點(diǎn)最好只有一個(gè)響應(yīng)。
濾波器對邊緣相應(yīng)的極大值之間的平均距離為:
其中h″(x)是h(x)的二階導(dǎo)數(shù),因此在2W寬度內(nèi),極大值的數(shù)目為:
在圖像邊緣檢測中,抑制噪聲和邊緣精確定位是無法同時(shí)滿足的,邊緣檢測算法通過平滑濾波去除圖像噪聲的同時(shí),也增加了邊緣定位的不確定性;反之,提高邊緣檢測算子對邊緣的敏感性的同時(shí),也提高了對噪聲的敏感性。Canny算子試圖在抗噪聲干擾和精確定位之間尋求最佳折中方案。
用Canny算子檢測圖像邊緣的步驟如下:
(1)用高斯濾波器平滑圖像:
(2)計(jì)算濾波后圖像梯度的幅值和方向:
傳統(tǒng)算法采用2×2鄰域內(nèi)求有限差分均值的方法來計(jì)算平滑后的數(shù)據(jù)陣列。
梯度算子是一階導(dǎo)數(shù)算子。對于圖像函數(shù)f(x,y),它的梯度定義為一個(gè)向量:
該向量的幅度值和方向角分別表示為:
(3)對梯度幅值應(yīng)用非極大值抑制。
(4)用雙閾值算法檢測和連接邊緣。
Canny算子雖然是基于最優(yōu)化思想推出的邊緣檢測算子,但實(shí)際效果并不一定最優(yōu),原因在于理論和實(shí)際有許多不一致的地方。該算子同樣采用高斯函數(shù)對圖像進(jìn)行平滑處理,因此具有較強(qiáng)的抑制噪聲能力;同樣該算子也會(huì)將一些高頻邊緣平滑掉,造成邊緣丟失。
本文提出的改進(jìn)的Canny算法采用中值濾波代替高斯平滑濾波。
中值濾波是一種非線性平滑濾波,在一定的條件下可以克服高斯濾波所帶來的圖像細(xì)節(jié)模糊問題,而且對圖像掃描噪聲非常有效。
中值濾波是由Tukey提出的一種用于噪聲去除的非線性處理方法。中值濾波是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線性信號(hào)處理技術(shù),中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍像素灰度值的差比較大的像素改取與周圍的像素值接近的值,從而達(dá)到消除孤立噪聲點(diǎn)的目的。
其思想是:在定義窗口范圍內(nèi)對作用樣本X(1),X(2)…,X(N)取中值即:
其中,med[]表示窗口內(nèi)所有數(shù)按從小到大的順序排列后,取中間值方法是取某種結(jié)構(gòu)的二維滑動(dòng)模板,將模板內(nèi)像素按照像素值的大小進(jìn)行排序,生成單調(diào)上升(或下降)的二維數(shù)據(jù)序列。
二維中值濾波采用一個(gè)m×n的滑動(dòng)窗口,其中m是滑動(dòng)窗口行數(shù),n是滑動(dòng)窗口列數(shù)。從左到右,從上到下逐行移動(dòng),對滑動(dòng)窗口內(nèi)的像素點(diǎn)灰度值進(jìn)行排序,選擇排序像素級(jí)的中間值作為指定像素點(diǎn)的灰度值。
在這里,我們選擇把當(dāng)前中心像素點(diǎn)作為噪聲點(diǎn)處理,在窗口中心點(diǎn)的領(lǐng)域內(nèi)除去可能噪聲點(diǎn)后取所剩下的信號(hào)點(diǎn),并用它們排序后取中值點(diǎn)的灰度值代替當(dāng)前中心點(diǎn)灰度值。具體操作步驟如下:
(1)將模板在圖中漫游,并將模板中心與圖中某個(gè)像素位置重合。
(2)讀取模板下各對應(yīng)像素的灰度值。
(3)將這些灰度值從小到大排成一列。
(4)找出這些值里排在中間的一個(gè)。
(5)將這個(gè)中間值賦給對應(yīng)模板中心位置的像素。
中值濾波在衰減噪聲的同時(shí),保持了圖像細(xì)節(jié)的清晰。
上圖給出了用Canny算子和改進(jìn)的Canny算子對加入噪聲的圖像做邊緣檢測的結(jié)果。從圖(c)中可以看出,Canny算子雖然提取出了較完整的邊緣,但也將噪聲作為邊緣的一部分,檢測結(jié)果不能清晰地反映圖像的邊緣信息。圖(d)中圖像的噪聲得到有效抑制,提取的邊緣像素點(diǎn)更加完整,較好地保留了圖像的邊緣信息。
圖像邊緣檢測是圖像處理和計(jì)算機(jī)視覺的一個(gè)重要研究方向。但當(dāng)圖像中存在噪聲時(shí),傳統(tǒng)的Canny邊緣檢測算子會(huì)存在許多不足之處。從實(shí)驗(yàn)結(jié)果來看,本文提出的邊緣檢測算法能有效地抑制圖像噪聲對邊緣檢測的影響,能較好地保持圖像邊緣的細(xì)節(jié)信息,且提取的邊緣完整連續(xù),輪廓更加清晰,效果較好。
[1] 姚敏.數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2006:73-74,229-233.
[2] 王娜,李霞.一種新的改進(jìn)Canny邊緣檢測算法[J].深圳大學(xué)學(xué)報(bào)(理工版),2005,22(2):149-153.
[3] 米林,馬亞洲,等.一種基于Canny的邊緣檢測優(yōu)化算法[J].計(jì)算機(jī)仿真,2010,4:252-255.
[4] 余洪山,王耀南.一種改進(jìn)型Canny邊緣檢測算法[J].計(jì)算機(jī)工程與應(yīng)用,2004,20:27 -29.
[5] 曲秀君.一種改進(jìn)Canny算子[J].電腦學(xué)習(xí),2010,3:91 -92
[6] 厲丹,錢建生,等.圖像邊緣檢測技術(shù)的改進(jìn)[J].計(jì)算機(jī)工程與應(yīng)用,2010,46:164 -166.
[7] 周曉明,馬秋禾,肖蓉.基于 Canny算子的改進(jìn)的圖像邊緣檢測方法[J].影像技術(shù),2008,4:17-20.
[8] 黃劍玲,陳博政.一種基于Canny理論的邊緣提取改進(jìn)算法[J].重慶理工大學(xué)學(xué)報(bào),自然科學(xué)版,2010,5:54 -58.
[9] LindaG.Shapiro,George C.Stockman.計(jì)算機(jī)視覺[M].趙清杰,錢芳,蔡利棟,譯.北京:機(jī)械工業(yè)出版社,2005:63-66.
[10] RC Gonzalez,Richard E Woods.數(shù)字圖像處理[M].阮秋琦,阮宇智,等,譯.北京:電子工業(yè)出版社,2008.
[11] WilliamK.Pratt.數(shù)字圖像處理[M].張引,李虹,等,譯.北京:機(jī)械工業(yè)出版社,2010.
[12] 馮新宇,方偉林,等.基于中值濾波與Sobel、Canny算子的圖像邊緣檢測研究[J].黑龍江水專學(xué)報(bào),2009,3:101 -103.