王 靜,李竹林,賀東霞,王 蓓,李 智
(延安大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,陜西 延安 716000)
基于邊緣檢測(cè)的圖像分割方法的基本思路是先確定圖像中的邊緣像素,然后通過(guò)一定的方法把它們連接在一起構(gòu)成所需要的邊緣。MATLAB圖像處理工具箱使用edge函數(shù)來(lái)檢測(cè)邊界,尋找像素值劇烈變化的像素點(diǎn)。對(duì)圖像進(jìn)行研究的過(guò)程中,人們往往會(huì)對(duì)某個(gè)部分或者特征感興趣,圖像的邊緣作為圖像分析的一種最基本的依據(jù)有著重要的作用,圖像邊緣檢測(cè)的好壞直接關(guān)系著圖像分析、特征提取、目標(biāo)識(shí)別的精確性。通過(guò)對(duì)圖像的邊緣進(jìn)行檢測(cè),可以使感興趣的目標(biāo)與背景分離,便于分析研究。
圖像的邊緣指的是圖像灰度、顏色、紋理結(jié)構(gòu)等發(fā)生空間突變的像素的集合。圖像的邊緣意味著一個(gè)區(qū)域的結(jié)束和另一個(gè)區(qū)域的開(kāi)始。圖像的邊緣有兩個(gè)特征:梯度和方向。
基于邊緣檢測(cè)的圖像分割方法的基本思路就是首先確定圖像中的邊緣像素,然后通過(guò)一定的方法把它們連接在一起構(gòu)成所需要的邊緣。
邊緣檢測(cè)對(duì)于灰度級(jí)間斷的檢測(cè)是最普遍的檢測(cè)方法。檢測(cè)圖像中的一個(gè)點(diǎn)是否是邊緣點(diǎn)可以用一階導(dǎo)數(shù),判斷一個(gè)邊緣像素是在邊緣亮的一邊還是暗的一邊可以用二階導(dǎo)數(shù)。但需注意,對(duì)圖像中的每條邊緣,二階導(dǎo)數(shù)會(huì)生成兩個(gè)值,這是我們不希望看到的,但二階導(dǎo)數(shù)的過(guò)零點(diǎn)特性(即一條連接二階導(dǎo)數(shù)正極值和負(fù)極值的虛構(gòu)直線(xiàn)將在邊緣中點(diǎn)附近穿過(guò)零點(diǎn))對(duì)于確定粗邊線(xiàn)的中心有很重要的作用[1]。
邊緣檢測(cè)算子即邊緣檢測(cè)器,它是指從圖像中抽取邊緣(邊緣點(diǎn)或者是邊緣段)集合的算法。下面就分別介紹常用的幾種算子。
圖像的邊緣是灰度值不連續(xù)的結(jié)果,這種不連續(xù)可以用求導(dǎo)的方法進(jìn)行檢測(cè)。即通過(guò)考察圖像每個(gè)像素的某個(gè)鄰域內(nèi)灰度的變化,利用邊緣鄰近一階或二階導(dǎo)數(shù)的規(guī)律來(lái)檢測(cè)邊緣。
梯度對(duì)應(yīng)的是一階導(dǎo)數(shù)信息,是一階導(dǎo)數(shù)算子。
假設(shè)圖像灰度為f(x,y),則它在位置(x,y)的梯度定義為下列向量
在邊緣檢測(cè)中,梯度的大小非常重要。通常將梯度的幅度大小簡(jiǎn)稱(chēng)梯度,用▽g表示
梯度的方向也很重要,它是圖像灰度變化最快的方向。令φ表示向量▽f在(x,y)處的方向角,由向量分析得到梯度的方向表示為
實(shí)際的數(shù)字圖像是經(jīng)過(guò)空間采樣,灰度量化的圖像,如果在求取梯度的時(shí)候用差分來(lái)代替微分,從而梯度算子中的式(2)就以重新表示為
為了簡(jiǎn)化計(jì)算,一般用以下式(5)來(lái)近似代替式(4)如下所示:
上述這種求梯度方法稱(chēng)為水平垂直差分法。
Canny算子[2]是 Jonny Canny于 1986 年提出的,使用Canny算子檢測(cè)邊緣具有很好的效果,所以它在圖形圖像處理的眾多領(lǐng)域都得到了很廣泛的應(yīng)用。Canny算子有低誤判率、高精度定位,抑制虛假邊緣等優(yōu)點(diǎn)。用Canny算子檢測(cè)邊緣需先對(duì)預(yù)處理的圖像選擇一高斯濾波器進(jìn)行平滑濾波,然后采用一種稱(chēng)為“非極大抑制”的技術(shù)對(duì)平滑后的圖像進(jìn)行處理,得到最后所需要的邊緣圖像。
Canny算子邊緣檢測(cè)的基本原理是:采用二維高斯函數(shù)的任一方向上的一階方向?qū)?shù)為噪聲濾波器進(jìn)行平滑濾波,再與圖像卷積進(jìn)行濾波,最后對(duì)濾波后的圖像尋找圖像梯度的局部極大值,以得到圖像的邊緣圖像。二維高斯函數(shù)的表達(dá)式為
上式中,用方差σ來(lái)控制圖像的平滑程度。
G(x,y)在某一方向的一階方向?qū)?shù)為
Canny算子是在▽G*f(x,y)的基礎(chǔ)之上得到邊緣強(qiáng)度和方向后通過(guò)閾值判定來(lái)檢測(cè)邊緣。
Prewitt算子與Sobel算子的梯度幅值表示相同,只是選取的3*3模板不同,雖然Prewitt算子得模板比Sobel算子的模板簡(jiǎn)單,但是它對(duì)噪聲的抑制效果不如Sobel算子。
Roberts算子的檢測(cè)精度比較高,但是對(duì)噪聲比較敏感。Roberts算子是一個(gè)交叉算子,它在點(diǎn)(m,n)的梯度幅值表示如下
通常情況下,把式(11)簡(jiǎn)化為如下形式分別利用Rm和Rn的2*2模板對(duì)圖像進(jìn)行卷積,把兩個(gè)卷積的結(jié)果進(jìn)行求和就可以的到檢測(cè)結(jié)果。
拉普拉斯算子是一種無(wú)方向性的二階微分算子。二維函數(shù)f(x,y)的拉普拉斯算子的定義如下:
由于拉普拉斯算子對(duì)噪聲有加強(qiáng)作用,不能檢測(cè)出邊緣的方向,且拉普拉斯算子的幅值會(huì)產(chǎn)生雙邊緣,所以一般情況下拉普拉斯算子的原始形式不用于檢測(cè)邊緣,而是用其零交叉的性質(zhì)來(lái)判斷一個(gè)像素是在一條邊緣的亮側(cè)還是在暗側(cè)。
由于拉普拉斯算子對(duì)噪聲十分敏感。為此,馬爾和希爾得勒斯提出了一種新的邊緣檢測(cè)的方法,該方法將拉普拉斯算子和高斯濾波結(jié)合在一起進(jìn)行邊緣檢測(cè),故稱(chēng)為L(zhǎng)og算法,也稱(chēng)之為拉普拉斯高斯算法。拉普拉斯高斯算法主要分為三步:濾波、增強(qiáng)和檢測(cè)。
由于在成像的時(shí)候,給定像素對(duì)應(yīng)場(chǎng)景點(diǎn)的周?chē)c(diǎn)對(duì)該點(diǎn)的光強(qiáng)呈正態(tài)分布,所以用呈正態(tài)分布的平滑函數(shù)對(duì)圖像f(x,y)進(jìn)行平滑濾波,根據(jù)人的視覺(jué)特性可以選用高斯函數(shù)作為濾波函數(shù),則呈正態(tài)分布的高斯平滑濾波函數(shù)的定義如下
式中,H(x,y)是一個(gè)圓對(duì)稱(chēng)函數(shù),通過(guò)方差σ來(lái)控制平滑的效果,對(duì)于噪聲的降低具有很好的作用。H(x,y)與f(x,y)進(jìn)行卷積后可以得到一個(gè)平滑圖像,即
對(duì)平滑圖像進(jìn)行Laplacian運(yùn)算,得到
數(shù)學(xué)上可以證明,對(duì)平滑圖像h(x,y)進(jìn)行拉普拉斯運(yùn)算與f(x,y)和H(x,y)的拉普拉斯運(yùn)算進(jìn)行卷積是等價(jià)的。因此,式(2.4)可以變成
其中▽2H(x,y)稱(chēng)為L(zhǎng)og算子(濾波器)。
Log算子綜合考慮了對(duì)邊緣的檢測(cè)以及噪聲的抑制,在圖形圖像處理領(lǐng)域得到了很好的應(yīng)用。
用于邊緣檢測(cè)的算子很多,除了上述介紹的算子外還有一些其他的算子,比如Zerocross算子[4-6]等。Zerocross算子處理的圖像效果與用Canny算子處理的圖像效果差不多。對(duì)于Zerocross算法,閾值是根據(jù)0交叉的數(shù)目來(lái)確定,即超過(guò)0很多的像素值為邊界。
圖1中(a)為原始圖像,(b)~(f)分別為基于各種邊緣檢測(cè)算子的圖像。
圖1 原始圖像以及邊緣檢測(cè)算子圖像
由上述實(shí)驗(yàn)結(jié)果可以看出,Canny算子的檢測(cè)結(jié)果最為精細(xì),其次為L(zhǎng)og算子,而Roberts算子的檢測(cè)結(jié)果比Prewitt算子和Sobel算子都精細(xì),雖然Prewitt對(duì)噪聲的抑制效果不如Sobel算子但是Prewitt算子的檢測(cè)結(jié)果比Sobel算子的檢測(cè)結(jié)果稍微精細(xì)一些。
圖像分割在數(shù)字圖像處理技術(shù)中占據(jù)重要地位,它是圖像分析、圖像識(shí)別和特征提起的前提。圖像分割沒(méi)有唯一的標(biāo)準(zhǔn)和方法,應(yīng)該按照不同種類(lèi)的圖像應(yīng)用不同的分割技術(shù)。而基于邊緣檢測(cè)的圖像分割方法又是圖像分割中的重要內(nèi)容,在圖像理論研究及實(shí)際圖像處理中得到了高度的關(guān)注和廣泛應(yīng)用。本文講述了基于邊緣檢測(cè)算子的圖像分割方法以及通過(guò)實(shí)驗(yàn)對(duì)幾種算子的效果進(jìn)行對(duì)比、研究和分析,為初學(xué)者的學(xué)習(xí)和研究工作提供了一定的參考價(jià)值。當(dāng)然,這些算子并不是對(duì)所有的圖像都有較好的分割效果,要想找到適合所有圖像的理想的圖像分割方法還有待于進(jìn)一步的研究。
[1]岡薩雷斯.數(shù)字圖像處理(第二版)[M].北京:電子工業(yè)出版社,2007.
[2]劉禾.數(shù)字圖像處理及應(yīng)用[M].北京:中國(guó)電力出版社,2006.
[3]張強(qiáng),王正林.精通MATLB圖像處理(第二版)[M].北京:電子工業(yè)出版社,2012.
[4]李俊山,李旭輝.數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2006.
[5]梁學(xué)軍.基于光強(qiáng)加權(quán)梯度算子的圖象過(guò)渡區(qū)算法[J].圖象識(shí)別與自動(dòng)化,2001,1:4-7.
[6]章毓晉 .過(guò)渡區(qū)和圖象分割[J].電子學(xué)報(bào),1996,24(1):12-17.