卞桂平,秦益霖
(1.江蘇科技大學 電子信息學院,江蘇 鎮(zhèn)江212003;2.常州旅游商貿(mào)高等職業(yè)技術(shù)學校 江蘇 常州213032)
基于Canny算法的自適應邊緣檢測方法
卞桂平1,秦益霖2
(1.江蘇科技大學 電子信息學院,江蘇 鎮(zhèn)江212003;2.常州旅游商貿(mào)高等職業(yè)技術(shù)學校 江蘇 常州213032)
圖像邊緣檢測是數(shù)字圖像處理的重要組成部分。傳統(tǒng)的Canny邊緣檢測算子存在高斯濾波函數(shù)方差和閾值選取上的缺陷,本文提出了一種基于改進canny算子的圖像邊緣檢測算法。首先運用復合形態(tài)學濾波取代高斯濾波,然后運用Otsu算法進行高低雙閾值的自適應選?。蛔詈筮B接邊緣并運用數(shù)學形態(tài)學對邊緣進行細化。實驗結(jié)果表明,改進算法具有良好的抗噪性能和較好的檢測效果。
邊緣檢測;Canny算子;形態(tài)學;Otsu法;邊緣細化
圖像邊緣是計算機理解圖像的重要特征之一。在數(shù)字圖像中,邊緣就是相鄰的具有顯著不同特征區(qū)域間的分界線。在機器視覺領(lǐng)域,對邊緣檢測算法進行了深入的研究,得到了各種針對不同領(lǐng)域圖像的算法。通常將圖像邊緣劃分為階躍型和屋頂型兩種類型;階躍型邊緣兩邊的灰度值有很大的差別;屋頂型邊緣存在于灰度值從增加到逐漸減少的變化轉(zhuǎn)折點上[1];邊緣檢測的經(jīng)典算法有Roberts算子、Prewitt算子、Sobel算子、Laplace算子、LOG算子等[2],這些經(jīng)典算法原理簡單,易于運行,但抗躁性能差,提取的邊緣粗糙。傳統(tǒng)Canny算法將邊緣檢測問題轉(zhuǎn)化為求取圖像梯度函數(shù)極大值的問題,該算法能夠滿足最優(yōu)準則的邊緣檢測算法,傳統(tǒng)Canny算法具有定位精度高、邊緣檢測準確等優(yōu)點,在不同領(lǐng)域都得到了廣泛的應用。在傳統(tǒng)Canny算法中,高斯濾波器sigma值、高低分割閾值都需要人為經(jīng)驗設定。本文針對以上提出的缺點,將復合形態(tài)學濾波算法和Otsu算子引入到傳統(tǒng)Canny算法中,最終利用形態(tài)學細化算子實現(xiàn)細化邊緣。
1.1 高斯濾波平滑圖像
Canny算法的第一步是采用二維高斯函數(shù)的一階導數(shù)對圖像進行平滑[3],是對信噪比與定位精度乘積的最優(yōu)逼近算子。
設二維高斯函數(shù)為:
其梯度矢量為:
為減少計算量,一般將梯度矢量分解為2個一維行列濾波器:
其中,k為常數(shù),σ為高斯濾波器尺度參數(shù),σ的取值決定圖像的平滑程度,濾波器的參數(shù)σ取值越小,圖像邊緣定位的精度越高,但信噪比也隨之下降;參數(shù)σ取值越大,情況與之相反,因而σ的合理取值是圖像邊緣精度和信噪比平衡的關(guān)鍵因素。
1.2 梯度計算
傳統(tǒng)Canny算法采用2×2鄰域一階偏導的有限差分來計算濾波后的圖像I(x,y)的梯度幅值和梯度方向。設x和y方向的偏導數(shù)Px[x,y],Py[x,y]如下:
梯度幅值:
梯度方向角:
1.3 非極大值抑制
為了得到定位精確和細化的邊緣,必須對梯度圖像進行非極大值抑制,其實質(zhì)就是只保留幅值局部變化最大的點,這一過程就是非極大值抑制。在非極大值抑制過程中,使用3×3大小,包含8方向的鄰域?qū)μ荻确店嚵蠱[i,j]的所有像素沿梯度方向進行梯度幅值的插值。在每一個像素點上,比較鄰域的中心像素與沿梯度方向的兩個梯度幅值的插值結(jié)果的大小,找出局部極大值點,并保留幅值局部極大值點,刪除局部非極大值點。這一過程把M[i,j]細化為單像寬。非極大值抑制 (non-maxima suppression,NMS)過程的數(shù)學表示為:
其中,Y[i,j]是像素鄰域中心點沿梯度方向的扇形區(qū)域。
1.4 雙閾值判決和連接邊緣
經(jīng)過非極大值處理的圖像,還需使用高低閾值Hthres和Lthres進行分割,得到2個閾值邊緣圖像TH[i,j]和TL[i,j],TH[i,j]即強像素邊緣圖像含有較少的假邊緣,但有較多的間斷,TL[i,j]即弱像素邊緣圖像保留的邊緣信息比較全面,但含有較多的假邊緣。為使得到的TH[i,j]邊緣達到連續(xù)的效果,在TL[i,j]邊緣的 8鄰域位置尋找可以連接到TH[i,j]的邊緣,利用遞歸跟蹤算法 不斷的在TL[i,j]中搜索邊緣,直到將TH[i,j]中所有的間隙連接起來。
1.5 傳統(tǒng)Canny算法的缺陷
傳統(tǒng)Canny算法在實際工程應用中優(yōu)于其他的經(jīng)典邊緣檢測算法,但同時也存在一些缺陷:
1)高斯平滑濾波器的平滑參數(shù)σ需要人工設定并單一化,σ值的大小往往會影響平滑的效果,自適應性能差。
2)傳統(tǒng)Canny算法采用2×2鄰域一階偏導的有限差分來計算梯度幅值和梯度方向,定位比較準確,但對噪聲敏感,容易出現(xiàn)假邊緣,丟失一些真實邊緣。
3)傳統(tǒng)Canny算法的高、低閾值需要人工選取,人工選取的閾值往往不能得到效果較好的邊緣,也很難兼顧到連續(xù)邊緣與去除虛假邊緣的要求,因此自適性差,自動化程度低。
針對以上幾點缺陷的分析,本文對傳統(tǒng)Canny算法進行相應地改進。
2.1 復合數(shù)學形態(tài)學濾波
基于數(shù)學形態(tài)學的圖像濾波的關(guān)鍵是:1)利用形態(tài)學基本算子構(gòu)造出形態(tài)學濾波算子;2)選取合適的結(jié)構(gòu)元素,合適的結(jié)構(gòu)元素是解決邊緣檢測精度和抗噪性能之間矛盾的關(guān)鍵。
基本形態(tài)學算子實際上是一種非線性算子,利用數(shù)學形態(tài)學平滑圖像的實質(zhì)就是進行先閉后開運算;設C為平滑后的圖像,兩種常用的形態(tài)學濾波算子可表示為:
將上述的兩種常用的形態(tài)學濾波算子結(jié)合起來,構(gòu)造出一種改進的復合數(shù)學形態(tài)學濾波器,文中采用結(jié)合式(10)(11)可得改進的復合形態(tài)學濾波器為[4-6]:
2.2 梯度幅值算法的改進
傳統(tǒng)Canny算法的梯度幅值計算方法,對邊緣的定位較好,但當圖像中噪聲比較明顯時,去噪效果不佳。文中采用一種基于計算8鄰域內(nèi)x方向、y方向、135°、45°方向一階導數(shù)有限差分來確定像素梯度幅度的方法,這中方法兼顧了定位精度和抗噪的要求[7],具體算法如下:
1)x、y、135°、45°方向偏導數(shù)分別為:
2)計算圖像梯度幅值和梯度方向。
梯度幅值:
梯度方向角:
2.3 改進的Otsu自適應設定閾值
最大類間方差法于1980年提出,該法以灰度直方圖為依據(jù),將前景和背景的類間方差最大時的灰度值作為分割閾值,該法能夠?qū)崿F(xiàn)閾值計算的便捷、高效,在實際工程應用中有著廣泛的使用價值。其基本思路是:將灰度直方圖在某一灰度處分成兩組,此時圖像被分為兩個區(qū)域,當被分割的兩區(qū)域方差達最大時,被認為是兩區(qū)域的最佳分離狀態(tài),選擇該灰度值作為分割閾值,使得這兩區(qū)域真正達到了“物以類聚”的效果,此方法可以擴展到多區(qū)域的多閾值選取。最大類間方差法算法簡單、自適應強,在眾多的圖像閾值選取算法中有著不可替代的位置。
設經(jīng)過非極大值抑制后的灰度范圍為[0,L-1],圖像像素總數(shù)N,灰度級i對應的像素數(shù)目為Ni,其概率為:Pi=Ni/N,用閾值T將圖像像素按灰度值分為背景類和前景類C1={T+1,L-1},Otsu算法選擇最大
2.4 形態(tài)學細化邊緣
圖像經(jīng)過非極大值抑制可以得到比較精細的邊緣,但達不到單像素級的邊緣,為了達到單像素級,文中引入形態(tài)學算子對邊緣進行細化處理[11-16]。
形態(tài)學細化邊緣的算法步驟是:保證中軸線位于圖像邊緣的中心,確保邊緣連通性、輪廓特征和方向性不變的前提下,對圖像邊緣不斷地細化,最終得到像素寬度為1的邊緣。
由以上分析可知,改進Canny算子的步驟如下:
Step1運用改進的復合形態(tài)學濾波器對代替高斯濾波,對原圖像進行平滑濾波,以減少噪聲的響應;
Step2用求得的x方向、y方向、135°、45°方向一階導數(shù)有限差分計算梯度幅值和方向;
Step3對梯度幅值進行非極大值抑制,刪除非極大值點,保留局部梯度極大值;
Step4用最大類間算法計算自適應閾值T,自動設定改進Canny算子的高低閾值;
Step5進行雙閾值判決,連接并使用形態(tài)學細化算子細化邊緣。
文中選用lena、camerman和eagle灰度圖像進行實驗。使用傳統(tǒng)的Canny算法和本文改進的Canny算法對lena圖像、camerman圖像和eagle圖像分別進行邊緣檢測,實驗結(jié)果如圖1~圖3所示。
圖1 lena圖像實驗結(jié)果
圖2 camerman圖像實驗結(jié)果
圖3 eagle圖像實驗結(jié)果
從以上實驗結(jié)果來看,文中采用復合形態(tài)學平滑圖像得到了較好的平滑效果;本文通過計算像素8鄰域內(nèi)4個方向一階偏導數(shù)有限差分的方法來確定梯度幅值,在保證檢測精度的同時,大大降低了噪聲的影響。傳統(tǒng)的Canny算子采用人工設定或選擇梯度直方圖谷值的辦法確定高低閾值,對于背景變化較大的圖像,傳統(tǒng)Canny檢測出較多的偽邊緣,本文采用最大類間法自適應選取閾值,有效地將背景和前景作為兩個大類進行了更好的分割并較好的檢測圖像中的細節(jié)。從以上實驗結(jié)果可以得出,本文算法檢測的圖像邊緣受噪聲影響較小,定位準確,邊緣細化效果較好。
文中在傳統(tǒng)Canny算法的基礎(chǔ)上,用復合形態(tài)學濾波器代替高斯濾波器;在圖像梯度計算上進行了一定的改進,實驗中,取得了較好的效果;在高低閾值的選取上,文中采用效果優(yōu)良的最大類間方差法自適應選取高低閾值;在邊緣細化方面,采用形態(tài)學細化算法細化邊緣,最終得到本文改進的Canny算法。通過實驗表明,改進后的Canny算法比較于傳統(tǒng)Canny算法,有較好的優(yōu)化效果,具有一定的工程應用價值。雖然改進的Canny算法檢測效果優(yōu)于Roberts、Sobel等簡單的邊緣檢測算子,但沒有能夠降低算法的復雜度,形態(tài)學算子的處理速度較慢,這都需要以后的進一步研究。
[1]QiaogangXu,Jinhui,Yu.A Decision Function Method for Boundary Detection,Computer Graphics and Image Processing,2001,3(2):125-140.
[2]曾俊.圖像邊緣檢測技術(shù)及其應用研究[D].武漢:華中科技大學,2011.
[3]謝鳳英.數(shù)字圖像處理及應用[M].北京:電子工業(yè)出版社,2014.
[4]王慧鋒,戰(zhàn)桂禮,羅曉明.基于數(shù)學形態(tài)學的邊緣檢測算法研究及應用[J].計算機工程與應用,2009,45(9):223-225.
[5]Canny J.A computational approach to edge detection [J].IEEE Trans on PAMI,1986,8(6):679-698.
[6]Maragos P.Differential morphology and image processing [J].IEEE Trans Image Processing,1996,5(6):922-937.
[7]王植,賀賽先.一種基于Canny理論的自適應邊緣檢測方法[J].中國圖像圖形學報,2004,9(8):957-962.
[8]韓慧妍.形態(tài)學和OSTU方法在Canny邊緣檢測算子中的應用[J].微電子學與計算機,2012,29(2):146-149.
[9]張志順,奚建清,劉勇.基于改進Canny算子的CT圖像邊緣檢測[J].微電子學與計算機,2013,30(9):9-12.
[10]徐琳俊,陳紅衛(wèi).數(shù)字圖像分割算法研究[D].鎮(zhèn)江:江蘇科技大學,2011.
[11]蔣東升,李訊波.基于數(shù)學形態(tài)學的邊緣檢測算法研究[D].成都:電子科技大學,2012.
[12]Shi S,Qu S R,Zhang D Q.Improving Otsu's method of maximum between-cluster variance for infrared target extraction [J]. Journal of Northwestern Polytechnical University, 2010,28(2):259-263.
[13]Ostu.A threshold selection method from graylevel histogram[J].IEEE.Transactions on Systems,1979,9(1):62-66.
[14]GonzalezR C, WoodsR E.DigitalImage Processing.3rd.ed.[M].Addison-Wesley,1992.
[15]柳浪濤,谷林,宋耀艷,等.家具定制系統(tǒng)中基于視覺效果的邊緣檢測方法[J].西安工程大學學報,2016(3):369-374.
[16]拓小明,李云紅,劉旭,等.基于Canny算子與閾值分割的邊緣檢測算法[J].西安工程大學學報,2014(6):745-749.
An adaptive edge-detection method based on Canny algorithm
BIAN Gui-ping1,QIN Yi-lin2
(1.Depart.of Electronics and Technology,Jiangsu University of Science and Technology,Zhenjiang 212003,China;2.Changzhou Technical Institute of Tourism&Commerce,Changzhou 213032,China)
Image edge detection is an important part of digital image processing.The traditional Canny edge method without the adaptive ability in the variance of Gaussian filtering and threshold,this paper proposes an image edge detection algorithm based on improved Canny operator.Firstly,this method uses compound morphology smoothing replaces Gaussian filtering;then this method uses the Otsu method to calculates the optimal high and low dual-threshold;finally,connecting edge and using the morphology to thinning the image detection edge.Experimental results prove that the improved algorithm has a good anti-noise function and a good detective performance.
edge detection;Canny operator;morphology;otsu method;edge thining
TN911.73
A
1674-6236(2017)10-0053-04
2016-03-18稿件編號:201603243
卞桂平(1989—),男,江蘇鹽城人,碩士研究生。研究方向:機器視覺、數(shù)字圖像處理。