中級工程師職稱論文投稿期刊推薦《中關(guān)村》雜志是工業(yè)經(jīng)濟(jì)向知識經(jīng)濟(jì)轉(zhuǎn)型中,以報道和推進(jìn)知識經(jīng)濟(jì)為主要內(nèi)容、具有新文化訴求的大型綜合類新主流月刊雜志(128P,全彩印)。本刊立足最近被美國《新聞周刊》評為世界八大新“文化圣地”之一的中關(guān)村,力圖辦成中國知識經(jīng)濟(jì)的窗口和中國最佳新聞傳播媒體。
摘 要: 針對傳統(tǒng)Canny算子在邊緣檢測中的不足,提出一種基于Canny算子圖像邊緣檢測的改進(jìn)方法。傳統(tǒng)Canny算子的高低閾值一般是人為地設(shè)定固定值,這容易造成虛假邊緣。對此,利用最小交叉熵計算Canny算子的高低閾值,得到理想的邊緣后,利用數(shù)學(xué)形態(tài)學(xué)對結(jié)果進(jìn)行后處理。實驗結(jié)果表明,改進(jìn)后的算法具有自適應(yīng)性,抑制噪聲能力較強(qiáng),有效地提高了邊緣檢測的魯棒性。
關(guān)鍵詞: 中級工程師職稱論文,邊緣檢測,Canny算子,數(shù)學(xué)形態(tài)學(xué),最小交叉熵
Improvement of edge detection algorithm based on Canny operators
Chen Shiwen, Qiu Wei, Fang Yishan
(department of computer, Jiaying University, Meizhou, Guangdong 514000, China)
Abstract: The traditional Canny edge detection algorithm has the defects of losing details of the edge. In this paper an improved Canny-based edge detection algorithm is proposed.High and low threshold are given as an fixed value in traditional Canny operator, which may cause false edge information when the image's all gray level is concentrated on one region. A desired threshold value is given based on minimum cross entropy, and the obtained edge will be handled by mathematical morphology. The experiment results indicate that the algorithm improves the effect of edge detection in the case of noise disturbance, and has a good robustness and also a strong self-adaptability.
Key words: edge detection; Canny operator; mathematic morphology; minimum cross entropy
0 引言
邊緣信息是圖像中的一種基本特征,可以為圖像分析和圖像識別提供重要的信息,對圖像邊緣信息的研究是很有實際意義的。有著明顯變化的像素灰度值兩邊表現(xiàn)為階躍性邊緣;灰度值處在從增加到減少的變化轉(zhuǎn)折點表現(xiàn)為屋頂狀邊緣。傳統(tǒng)的邊緣檢測算法有:Robert算子、Prewitt算子、Sobel算子、 LOG算子、Laplacian算子、Kirsch算子等。這些算子的基本特點是計算簡單、實現(xiàn)容易,但是由于邊緣本身的復(fù)雜性,這些算子在抗噪性能方面效果不夠理想。很多學(xué)者提出了改進(jìn)的邊緣檢測方法[1-7]。
相對而言,Canny算子在邊緣檢測中具有較高的精度,因而得到了廣泛的應(yīng)用。但是Canny算子有自身的不足:高低閾值需要人為確定,高斯濾波參數(shù)選擇困難,容易造成檢測中出現(xiàn)大量虛假邊緣。針對Canny算子的不足,本文提出一種融入最小交叉熵的邊緣檢測算法,利用最小交叉熵動態(tài)地計算圖像的高低閾值,解決圖像的灰度級集中在某一區(qū)域時的情況;提取圖像邊緣后再對結(jié)果用數(shù)學(xué)形態(tài)學(xué)方法進(jìn)行后處理。通過實驗對比了本文算法與傳統(tǒng)Canny算法和文獻(xiàn)[7]的算法的檢測結(jié)果,結(jié)果表明,改進(jìn)后的算法具有較強(qiáng)的自適應(yīng)性和噪聲抑制能力,能檢測到更佳的圖像邊緣。
1 傳統(tǒng)Canny算法
Canny算子在邊緣檢測中基于以下最優(yōu)準(zhǔn)則:(a)信噪比準(zhǔn)則,即將非邊緣點誤判為邊緣點或者將邊緣點誤判為非邊緣點的概率要低;(b)定位精度準(zhǔn)則,即檢測出的邊緣位置盡可能地接近真正邊緣中心點;(c)單邊響應(yīng)準(zhǔn)則,即單一邊緣響應(yīng)惟一,虛假邊緣響應(yīng)受到最大的抑制。
利用二維高斯函數(shù)構(gòu)造濾波器,如⑴式:
、
計算二維濾波器模板的一階偏導(dǎo),得到兩個一維濾波器,用標(biāo)準(zhǔn)卷積得到高斯平滑。其中σ是高斯函數(shù)的標(biāo)準(zhǔn)差,控制著平滑圖像的程度。
圖像平滑后其梯度幅值和方向一般通過2×2鄰域內(nèi)的一階導(dǎo)數(shù)的有限差分來計算。在x方向和y方向的偏導(dǎo)數(shù)分別為Px(x,y)和Py(x,y),則圖像的梯度幅值和梯度方向分別為:
、
⑶
對像素點的梯度幅值進(jìn)行非極大值抑制,即判斷像素點的梯度值在其八鄰域內(nèi)是否為最大值,如果是則是邊緣,如果否則為零。
經(jīng)過非極大值抑制后,Canny算子采用雙閾值(高低閾值)方法檢測圖像邊緣。
2 傳統(tǒng)Canny算法的不足
如圖1所示,給圖1(a)加了0.01標(biāo)準(zhǔn)差的高斯噪聲,由實驗圖可見傳統(tǒng)的Canny算子檢測效果不夠好,對噪聲的抑制能力較差。高斯濾波參數(shù)σ的選取很重要,若σ選取較大時,高斯平滑模板變大,頻帶窄,抗噪能力較強(qiáng),但是容易造成圖像的緩變邊緣丟失及過度光滑;若σ選取較小時,頻帶較寬,邊緣細(xì)節(jié)精度高,但是圖像平滑作用較小,抗噪聲能力較弱。 如圖2所示,圖2(a)為原始圖,圖2(b)為傳統(tǒng)Canny檢測結(jié)果,圖3為硬幣直方圖。傳統(tǒng)檢測效果較差,原因是Canny算法采用確定的高低閾值,當(dāng)圖像的灰度級集中在某一區(qū)域時,直方圖沒有明顯雙峰,固定的高低閾值無法滿足檢測要求。高低閾值的選取很重要,高閾值關(guān)系到邊緣檢測的起始點,當(dāng)高閾值Th較小時,檢測到的邊緣信息較多,但是虛假也隨之增多;當(dāng)高閾值Th較大時,抑制噪聲能力增強(qiáng),但是容易丟失實際邊緣信息。低閾值Tl關(guān)系到邊緣檢測的中止點,Tl選擇越小保留的邊緣信息越多,隨著Tl的增大,目標(biāo)邊緣信息不斷減少,容易導(dǎo)致邊緣的斷裂。
3 最小交叉熵閾值法
假若一幅圖像的尺寸為M×N,其灰度級為L,圖像上某一像素點的灰度值表示為f(x,y)(1≤x≤M,1≤y≤N),計算每個像素點在其K×K鄰域的平均灰度值,得到一幅平滑的圖像g(x, y),其灰度級也為L。通常L取為255,K取為3,即8鄰域模板。f(x,y)與g(x,y)組成二元組記為(i,j),設(shè)圖像中灰度級為i鄰域平均灰度級為j的像素點個數(shù)為r(i,j),定義二元組(i,j)在圖像和其鄰域平滑圖像中出現(xiàn)的概率為:
、
定義二維直方圖如圖4 所示,橫坐標(biāo)為圖像像元的灰度值i,縱坐標(biāo)為像元鄰域平均灰灰值j,設(shè)閾值(S,T)(0≤S,T≤L-1)把二維直方圖分割成A、B、C、D4個區(qū)域,區(qū)域A和B分別代表目標(biāo)和背景,區(qū)域C和D分別代表邊緣或噪聲,由于邊緣和噪聲較少,一般認(rèn)為遠(yuǎn)離對角線區(qū)域的C和D的分量近似為零。
圖4 二維直方圖區(qū)域劃分
如圖4,任意閾值向量(S,T)對圖像進(jìn)行分割,可以得到目標(biāo)和背景2類區(qū)域,分別標(biāo)記為Ca和Cb,則2類區(qū)域的先驗概率分別表示為:
、
、
假設(shè)閾值為(S,T)時,目標(biāo)和背景的類內(nèi)均值分別表示為up(S,T)和uQ(S,T),其分別代表分割后目標(biāo)和背景的灰度,則:
、
、
其中:
、
(10)
定義二維交叉熵函數(shù)為[5]:
最小交叉熵對應(yīng)的最佳閾值向量就是:
(12)
最小交叉熵閾值法是圖像分割中計算閾值的方法,考慮了圖像中周圍像素的相關(guān)性,可以動態(tài)地計算圖像的分割閾值,用于計算Canny算子的高低閾值,滿足復(fù)雜圖像邊緣檢測的閾值要求。
4 濾波參數(shù)選取
對圖像進(jìn)行平滑濾波有利于抑制噪聲,提高信噪比。高斯濾波器中高斯參數(shù)σ決定著濾波器抑制噪聲的能力。高斯參數(shù)σ偏大,抑制噪聲能力強(qiáng),但是可能會把目標(biāo)邊緣細(xì)節(jié)信息濾除掉,若高斯參數(shù)σ偏小,又容易出現(xiàn)虛假邊緣。這里,采用如下式子計算σ[6]:
(13)
(14)
Emin=min(E) (15)
σ=E/Emin (16)
其中,N為窗口大小,M、E分別為圖像的均值和方差,Emin為一幅圖像中的最小方差。當(dāng)σ值較大時,改為:σ=kE/Emin,其中k=1/M,即為窗口內(nèi)均值的倒數(shù)。采用方差計算σ,原因是方差能較好表征窗口內(nèi)的像素變化特點,通常方差小的為非邊緣點或者是被噪聲污染的小區(qū)域。
5 數(shù)學(xué)形態(tài)學(xué)
假設(shè)A為圖像集合,B為結(jié)構(gòu)元素,數(shù)學(xué)形態(tài)學(xué)運(yùn)算是用B對A進(jìn)行操作。其中結(jié)構(gòu)元素本身也是一個圖像集合。對每個結(jié)構(gòu)元素,指定一個原點,它是結(jié)構(gòu)元素參與形態(tài)學(xué)運(yùn)算的參考點。數(shù)學(xué)形態(tài)學(xué)有兩種基本的變換,即腐蝕和膨脹,形態(tài)學(xué)其他運(yùn)算可以由這兩種運(yùn)算復(fù)合而成。下面以二值形態(tài)學(xué)理論介紹腐蝕與膨脹。
膨脹的算符為,A用B來膨脹寫作AB,其定義為:
(17)
式(17)表明用B膨脹A的過程,先對B做關(guān)于原點的映射,再將其映像平移X,這里A與B映像的交集不為空集。
腐蝕的算符為Θ,A用B來腐蝕寫作AΘB,其定義為:
(18)
式(18)表明A用B腐蝕的結(jié)果是所有X的集合,其中B平移X后仍在A中。也就是說,用B來腐蝕A得到的集合是B完全包括在A中時B的原點位置的集合。
用改進(jìn)的Canny算子提取圖像邊緣信息后,對結(jié)果進(jìn)行數(shù)學(xué)形態(tài)學(xué)后處理,使邊緣信息更加豐富。
6 實驗結(jié)果及分析
在Matlab 7.1環(huán)境下,對三幅圖像進(jìn)行仿真實驗,利用最小交叉熵算法計算高閾值Th,為了節(jié)省計算,Tl為高閾值的一半。實驗一為直方圖雙峰比較明顯的原始圖,如圖5所示;實驗二為加了0.01標(biāo)準(zhǔn)差的高斯噪聲的圖像,如圖6所示;實驗三為直方圖雙峰不明顯的圖像,如圖7所示(直方圖如圖3)。
實驗一結(jié)果顯示,當(dāng)圖像直方圖雙峰比較明顯時,傳統(tǒng)Canny算法檢測的邊緣信息豐富,但也有相當(dāng)一部分虛假邊緣,文獻(xiàn)[7]方法大體檢測出了邊緣信息,但是在單車的后輪邊緣信息丟失較嚴(yán)重,本文方法較好地檢測出了目標(biāo)邊緣。實驗二結(jié)果顯示,當(dāng)圖像被噪聲污染時,傳統(tǒng)Canny算法檢測效果不理想,抑制噪聲能力較差;文獻(xiàn)[7]抑制噪聲效果不錯,但仍有很多噪聲點,檢測非邊緣信息;本文方法抑制噪聲能力較好,仍然能夠檢測出目標(biāo)的輪廓。實驗三結(jié)果顯示,當(dāng)圖像灰度級集中時,即直方圖雙峰不明顯時,傳統(tǒng)Canny算法出現(xiàn)大量虛假邊緣,效果不理想,文獻(xiàn)[9]對單峰的直方圖的邊緣檢測效果亦不理想,本文方法雖然也丟失了一些邊緣信息,但是大體上檢測出了目標(biāo)邊緣,結(jié)果仍算滿意。因此,本文方法相對具有一定優(yōu)越性。
7 結(jié)束語
本文針對傳統(tǒng)Canny算法在邊緣檢測中的不足,提出了一種基于Canny算子圖像邊緣檢測的改進(jìn)方法。本算法通過最小交叉熵來計算Canny的高低閾值,利用灰度值來計算高斯參數(shù)σ。檢測出邊緣輪廓后對結(jié)果進(jìn)行數(shù)學(xué)形態(tài)學(xué)后處理。實驗證明,本算法抑制噪聲能力較強(qiáng),對于灰度級集中在某一區(qū)域的圖像亦能檢測出大體輪廓,算法優(yōu)于傳統(tǒng)Canny算法,具有一定魯棒性。
參考文獻(xiàn):
[1] Zhang Bin, He Saixian.Improved edge detection method based on
Canny algorithm[J]. Infrared Technology,2006.28(3):165-169
[2] Lei Zhai, Shouping Dong, Honglian Ma.Recent methods and
applications on image edge detection[C]. International Workshop on Education Technology and Training & International Workshop on Geo science and Remote Sensing,2008:332-335
[3] Chen Jie, Wang Zhen-hua, D0U Li-hua. Scale adaptive Canny
edge detection method[J]. Opto-Electronic Engineering,2008.35(2):79-84
[4] 黃劍玲,鄭雪梅.一種改進(jìn)的基于canny算子的圖像邊緣提取算法[J].
計算機(jī)工程與應(yīng)用,2008.44(25):170-172
[5] Li C H, Lee C K. Minimum cross entropy threshold[J].Pattern
Recognition,1993.26(4):617-625
轉(zhuǎn)載請注明來自:http://www.jinnzone.com/dianzijishulw/44691.html