夏百花,杜曉婷,方 飛
(安徽三聯(lián)學(xué)院,安徽 合肥230601)
圖像邊緣往往攜帶了大量人們感興趣的信息,通過對這些邊緣信息的處理,就可以作為圖像的一種基本特征,被應(yīng)用到后續(xù)圖像處理中.因此,邊緣檢測在圖像處理系統(tǒng)中占有十分重要的地位.而圖像邊緣存在于目標(biāo)與背景、目標(biāo)與目標(biāo)、區(qū)域與區(qū)域(包括不同色彩)之間,它為人們描述或識別目標(biāo)以及解釋圖像提供了一個(gè)重要的特征參數(shù).
早在1965 年就有人提出了邊緣檢測方法,隨后各種類型的檢測方法就在此基礎(chǔ)上不斷提出和優(yōu)化.經(jīng)典的邊緣檢測方法是對原始灰度圖像中以待處理像素為中心的某個(gè)小鄰域來構(gòu)造邊緣檢測因子.常用的檢測方法共分為兩種[1,2]:一種基于一階微分的邊緣檢測算法,如Roberts 算子、Prewitt算子、Sobel 算子、Kirsch 算子等;另一種是基于二階微分的邊緣檢測算法,如Laplacian 算子、LOG 算子、Canny 算子等.本文討論的重點(diǎn)內(nèi)容是對邊緣檢測方法中各種算法的優(yōu)缺點(diǎn)和抗干擾能力的比較.
此算法也可稱為“梯度檢測法”,它利用的是某個(gè)鄰域內(nèi)相鄰像素的灰度差進(jìn)行邊緣的判定.
Roberts 算子:是一種利用局部差分算子來尋找圖像邊緣的算子,它是在2*2 鄰域上進(jìn)行求對角導(dǎo)數(shù),即把對角線方向上相鄰兩像素之差近似認(rèn)為是梯度幅值.假設(shè)f(x,y)為原始圖像,G(i,j)為處理后的圖像,則兩者之間的關(guān)系為:
式中,G(i,j)稱之為Roberts 交叉算子.為簡化計(jì)算,通常采用梯度函數(shù)進(jìn)行近似,即:
用卷積模板,G(i,j)=|Gx|+|Gy|
從以上分析可以看出,該算子是利用局部差分法檢測較為陡峭的圖像邊緣,但對于噪聲比較敏感,經(jīng)常會(huì)出現(xiàn)孤立點(diǎn).于是在此基礎(chǔ)上提出了Prewitt 算子.
Prewitt 算子:為了在檢測邊緣的同時(shí)減小噪聲的影響,該算子從加大邊緣檢測算子出發(fā),由2*2 擴(kuò)大到3*3 鄰域卷積來計(jì)算差分因子,其算子模板如圖1 所示.
圖1 Prewitt 算子
這兩個(gè)方向模板一個(gè)用于檢測水平邊緣,而另一個(gè)檢測垂直邊緣.
在圖像中的每個(gè)像素位置都采用這2 個(gè)算子模板計(jì)算梯度幅值和方向.由于該算子在求局部平均的基礎(chǔ)上,與方向差分運(yùn)算相結(jié)合,因此采用該算子不僅能有效檢測出邊緣點(diǎn),且還能抑制噪聲對圖像的影響.
Sobel 算子:與Prewitt 算子相同的是,該算子也是在圖像空間上利用兩個(gè)方向模板與圖像進(jìn)行鄰域卷積檢測邊緣的.不同的是,算子模板內(nèi)的數(shù)字,即模板系數(shù)不為1,其目的在于將離待處理點(diǎn)越近的點(diǎn)賦予更高的權(quán)重,這樣更能準(zhǔn)確的定位邊緣的所在.其算子模板如圖2 所示.
圖2 Sobel 算子
Kirsch 算子:該算子主要使用的是一組模板(8 個(gè),且各方向間的夾角為45 度,權(quán)重不為1)對圖像中的每個(gè)像素點(diǎn)進(jìn)行卷積,選取卷積后的最大值作為邊緣強(qiáng)度,而與之對應(yīng)的方向作為邊緣方向.該算子的8 個(gè)模板分別為.
圖3 Kirsch 算子
上述四種算子均是基于計(jì)算一階導(dǎo)數(shù)的邊緣檢測器,其基本思想在于:通過原圖像中每個(gè)像素點(diǎn)與對應(yīng)的算子模板進(jìn)行卷積后可得出所對應(yīng)的梯度和方向,然后選取合適的閾值T 對于該梯度圖像二值化,若高于閾值T,則可確定該點(diǎn)即為所求的邊緣點(diǎn),進(jìn)而得到一副邊緣二值圖像.
從數(shù)學(xué)角度來說,二階微分[5]和一階微分一樣,同樣對噪聲較為敏感,其解決的方法為首先對圖像進(jìn)行平滑濾波,消除部分噪聲后,再進(jìn)行邊緣檢測.此方法是一種過零檢測法,即求二階微分之后的結(jié)果為零的像素點(diǎn)作為其邊緣點(diǎn),因此,得到的邊緣點(diǎn)數(shù)較少,有利用后續(xù)的處理和識別工作.此算法也可稱之為“線性邊緣檢測算子”.
Laplacian 算子:是對二維函數(shù)進(jìn)行運(yùn)算的二階導(dǎo)數(shù)算子,其具有各同向性(梯度結(jié)果與坐標(biāo)軸方向無關(guān)),因而計(jì)算量要小.其算子模板如圖4所示.有時(shí)候若希望鄰域中心點(diǎn)位置具有更大的權(quán)重,其算子模板也可如圖5 所示.
圖4 Laplacian 算子
圖5 另一種Laplacian 算子
圖6 LOG 算子
當(dāng)該算子輸出過零點(diǎn)時(shí)說明有邊緣存在,其中忽略無意義的過零點(diǎn)(均勻零區(qū)),從原則上說,過零點(diǎn)的位置可通過線性插值算法可精確得到,由于受到噪聲或由噪聲引起的邊緣兩端的不對稱性,結(jié)果可能不會(huì)很精確.總體來說,該算子存在兩個(gè)缺點(diǎn):一是由于其各同向性導(dǎo)致邊緣方向信息的丟失;二是由于其本身是基于二階微分的算子,雙倍加強(qiáng)了圖像中的噪聲對檢測結(jié)果的影響.
LOG 算子:該算子是基于Marr 生物視覺理論中提出的邊緣檢測方法,即首先對原始圖像進(jìn)行平滑濾波(高斯濾波),從而最大程度地抑制噪聲,再對平滑后的圖像求取邊緣.簡言之,該算子就是對原始圖像進(jìn)行濾波和微分的過程.
該算子的基本特征為:平滑濾波器采取高斯濾波器;邊緣求取采用二階導(dǎo)數(shù)(Laplacian 算子);邊緣檢測的判據(jù)是二階導(dǎo)數(shù)過零交叉點(diǎn),且為一階導(dǎo)數(shù)的較大峰值.其算子模板如圖6 所示.
Canny 算子:該算子功能雖比較強(qiáng)大,但實(shí)現(xiàn)起來較為復(fù)雜,它是一個(gè)具有濾波、增強(qiáng)和檢測的多階段優(yōu)化算子.在對原始圖像處理前,首先利用高斯濾波器來平滑圖像以除去噪聲,其次通過計(jì)算梯度幅值將鄰域強(qiáng)度值變化較為顯著的點(diǎn)進(jìn)行突出以增強(qiáng)邊緣,最后采用雙閾值將邊緣連接.
圖7 一階微分算子在無噪聲和加入高斯白噪聲后的檢測結(jié)果
本文以一幅汽車圖片為例,分別采用以上兩種邊緣檢測方法,在無噪聲和有高斯白噪聲的環(huán)境下進(jìn)行邊緣檢測并運(yùn)用Matlab 進(jìn)行實(shí)驗(yàn)仿真,檢測結(jié)果如圖7,8 所示.
通過圖7 可以看出,采用一階微分的邊緣檢測方法在圖像沒有任何噪聲干擾的情況下,四種算子都能夠較為準(zhǔn)確的檢測出圖像的邊緣,但在加入高斯白噪聲后,四種算子對噪聲都極為敏感,且檢測出了大量的噪聲點(diǎn)和偽邊緣.總體來說,Roberts 受噪聲影響最大,其他三種受噪聲的影響比Roberts要小一些.Sobel 和Prewitt 兩個(gè)算子檢測出的邊緣差不多,均優(yōu)于Roberts 算子,且邊緣較為連續(xù),但是線條較粗,甚至出現(xiàn)了一些偽邊緣.
圖8 二階微分算子在無噪聲和加入高斯白噪聲后的檢測結(jié)果
通過圖8 可以看出,Laplacian 算子對噪聲也比較敏感且使噪聲成分加強(qiáng),丟失一些邊緣的方向信息,因此通常很少使用該算子檢測邊緣,而是用來判斷邊緣像素是圖像的明區(qū)還是暗區(qū).LOG 算子有效克服了Laplacian 算子抗干擾能力較差的缺點(diǎn),檢測出的邊緣更加連續(xù)和細(xì)小.由于二階算子本身的缺陷,該算子對噪聲也很敏感.Canny 算子具有較強(qiáng)的噪聲抑制能力,同時(shí)也將一些高頻邊緣平滑掉,造成邊緣的丟失,但由于采用了雙閾值算法對邊緣進(jìn)行檢測和連接,因此邊緣的連續(xù)性更好.
本文通過對目前較為成熟的邊緣檢測方法進(jìn)行闡述和分析,最后利用Matlab 軟件進(jìn)行仿真并對結(jié)果進(jìn)行比較,得出了各種邊緣檢測方法檢測效果的優(yōu)缺點(diǎn).在實(shí)際生活中,任何圖像都不可避免的受到各種干擾噪聲的影響,因此,一個(gè)好的邊緣檢測方法既能夠準(zhǔn)確且清晰地檢測出邊緣點(diǎn)的位置,又能夠抑制無關(guān)的細(xì)節(jié)和噪聲.如何能夠根據(jù)實(shí)際要求,設(shè)計(jì)出更加完美的邊緣檢測方法或者對現(xiàn)有方法進(jìn)行改進(jìn)是目前圖像處理中的一個(gè)迫切需要解決的問題之一.
[1] 李安安.幾種圖像邊緣檢測算法的比較與展望[J].大眾科技,2009,(12):46-47.
[2] 盧洋,張旭秀.圖像邊緣檢測算法的對比分析與研究[J].太原科技,2009,(3):17-18.
[3] 馬艷,張治輝.幾種邊緣檢測算子的比較[J].工礦自動(dòng)化.2004,(1):54-56.
[4] 雷麗珍.數(shù)字圖像邊緣檢測方法的探討[J].測繪通報(bào),2006,(3):40-42.
[5] 熊秋菊,楊慕生.圖像處理中邊緣檢測算法的對比研究[J].機(jī)械工程與自動(dòng)化.2009,(2):21-23.