黃金國(guó),戴志明,周培源
(華中科技大學(xué),湖北 武漢 430074)
一種改進(jìn)的基于梯度的圖像邊緣檢測(cè)算法
黃金國(guó),戴志明,周培源*
(華中科技大學(xué),湖北 武漢 430074)
針對(duì)經(jīng)典基于梯度的邊緣檢測(cè)算法對(duì)方向的敏感性,從梯度的定義出發(fā),本文提出了一種能夠根據(jù)實(shí)際精度需求任意調(diào)整方向的多方向邊緣檢測(cè)的算法。該算法操作簡(jiǎn)單,具有圖像邊緣定位準(zhǔn)確,抗噪能力強(qiáng)的特點(diǎn)。
灰度梯度;邊緣檢測(cè);中值濾波;Sobel算子
邊緣是指其周?chē)袼鼗叶茸兓贿B續(xù)的那些像素的集合,邊緣廣泛存在于物體與背景之間、物體與物體之間。圖像的邊緣對(duì)人類(lèi)視覺(jué)系統(tǒng)具有重要意義,是人類(lèi)判別物體的重要依據(jù),是圖像的最基本特征,是圖像信息最集中的地方,包含著圖像的豐富信息,圖像邊緣的確定與提取對(duì)于整個(gè)圖像場(chǎng)景的識(shí)別與理解是非常重要的,其結(jié)果的正確性和可靠性將直接影響到機(jī)器視覺(jué)系統(tǒng)對(duì)客觀(guān)世界的理解[1,2]。因此,圖像邊緣檢測(cè)是圖像處理系統(tǒng)的關(guān)鍵技術(shù),也是圖像分析中的經(jīng)典問(wèn)題,一直是圖像處理中的研究熱點(diǎn)。
好的邊緣檢測(cè)算法應(yīng)該有一下3個(gè)指標(biāo):第一是低失誤概率,即真正的邊緣點(diǎn)盡可能少的丟失,同時(shí)又要盡可能避免將非邊緣點(diǎn)檢測(cè)為邊緣點(diǎn);第二是高位置精度,檢測(cè)的邊緣應(yīng)盡可能接近真實(shí)的邊緣;第三是對(duì)每一個(gè)邊緣點(diǎn)有唯一的響應(yīng),得到單像素寬度的邊緣[3,4]。分析已有的基于灰度特征的邊緣檢測(cè)算法可以發(fā)現(xiàn),這些算法都是基于對(duì)圖像求簡(jiǎn)單一階或二階導(dǎo)數(shù)運(yùn)算的算法。由于數(shù)字圖像的特點(diǎn),處理圖像過(guò)程中常采用差分來(lái)代替導(dǎo)數(shù)運(yùn)算,而實(shí)際處理時(shí),都是利用基于方向的模板對(duì)圖像求卷積運(yùn)算的方法[5],不同的是各算法的算子使用不同區(qū)域大小、不同系數(shù)的模板進(jìn)行操作。這種基于方向模板的算法只對(duì)檢測(cè)特定方向的邊緣敏感,對(duì)其它方向的邊緣檢測(cè)較弱,也不準(zhǔn)備普遍性。本文將討論一種適應(yīng)任意方向的邊緣檢測(cè)方法。
邊緣信息主要表現(xiàn)為圖像局部特征的不連續(xù)性,是圖像中灰度變化比較劇烈的地方,即是圖像中灰度變化最顯著的部分。垂直邊緣的方向上的導(dǎo)數(shù)值非常大,而沿著邊緣的方向上的導(dǎo)數(shù)值則較小。這樣只要能找到圖像上各點(diǎn)最大的方向?qū)?shù),即可檢測(cè)出邊緣點(diǎn)灰度值不連續(xù)性效果[6]。
基于梯度的邊緣檢測(cè)方法的基本思想是:
1)對(duì)圖像中的每個(gè)像素點(diǎn)求導(dǎo)數(shù),找出該點(diǎn)灰度變化最劇烈的方向θ及幅值g;
2)設(shè)定一個(gè)合適的閥值τ,可初步認(rèn)為幅值g大于τ的像素點(diǎn)是邊緣點(diǎn)。
對(duì)于連續(xù)圖像f( x, y)在θ方向沿r→的導(dǎo)數(shù)的定義如式(1)所示。
圖像f( x, y)在θ方向沿r→的導(dǎo)數(shù)的最大值如式(2)
這里最大值g稱(chēng)為圖像在這一點(diǎn)的梯度,θ稱(chēng)為這點(diǎn)的梯度方向。當(dāng)且僅當(dāng)θ方向與邊緣方向垂直時(shí)才能得到最大值g。
由于數(shù)字圖像的特點(diǎn),在處理過(guò)程中,一般用求差分來(lái)來(lái)替代求導(dǎo)運(yùn)算。下圖表示數(shù)字圖像中的一個(gè)3×3領(lǐng)域。
1,1 x?y? x, y?1 1,1 x+y?x?y x, y x+1,y 1, x?y+ x, y+1 1,1 1,1x+y+
計(jì)算點(diǎn)(x,y)水平方向上的灰度變化Px如下式(4)
計(jì)算點(diǎn)(x,y)垂直方向上的灰度變化Py如下式(5)
在實(shí)際中常用小區(qū)域模板與數(shù)字圖像卷積來(lái)計(jì)算差分?;舅枷胧撬胶痛怪狈较蚋饔靡粋€(gè)模板,對(duì)圖像進(jìn)行處理時(shí),用這兩個(gè)小區(qū)域模板在圖像中移動(dòng),完成圖像中每個(gè)像素點(diǎn)與這兩個(gè)模板的卷積運(yùn)算,求得水平和垂直方向的差分[7,8]。
水平模板
垂直模板
為了避免(2)式中的平方和開(kāi)方運(yùn)算,經(jīng)典的梯度邊緣檢測(cè)算法采用取Px與Py中絕對(duì)值較大者來(lái)近似梯度值g[9,10]。這樣一來(lái)對(duì)檢測(cè)結(jié)果的準(zhǔn)確性就會(huì)造成較大的影響。如用水平模板檢測(cè)45°方向的邊緣。利用上述水平模板得到g=Px=10,而實(shí)際該值應(yīng)為g=10≈14,誤差近30%,這樣的誤差會(huì)嚴(yán)重影響后續(xù)的處理結(jié)果。
在實(shí)際圖像采集中,不可避免地會(huì)引入噪聲,尤其是干擾脈沖和椒鹽類(lèi)噪聲,噪聲的存在會(huì)嚴(yán)重影響對(duì)邊緣檢測(cè)的結(jié)果。中值濾波法是一種非線(xiàn)性平滑技術(shù),在平滑脈沖噪聲方面非常效,同時(shí)能避免采用平均濾波時(shí)帶來(lái)的目標(biāo)物邊緣模糊的問(wèn)題[11,12]。
2.1 中值濾波原理
中值濾波原理:對(duì)一個(gè)窗口(記為W)內(nèi)的所有像素灰度值按照灰度值大小按升序或者降序進(jìn)行排序,取排序結(jié)果的中間值作為W中心點(diǎn)處像素的灰度值。用公式表示為:
以一維序列{6,7,5,4,9}為例,按升序排列的結(jié)果為{4,5,6,7,9},則原序列中間元素(原序列中的5)位置,應(yīng)取升序排列后的中間值6為相應(yīng)的濾波結(jié)果。通常W內(nèi)像素個(gè)數(shù)選為奇數(shù),以保證有一個(gè)中間值。中值濾波的關(guān)鍵是選擇合適的窗口形狀和大小,不同的形狀和大小的濾波窗口會(huì)帶來(lái)不同的濾波效果[13]。
2.2 改進(jìn)的梯度算法
為了既能滿(mǎn)足實(shí)際處理圖像精度的需求,又能避免直接使用公式(2)帶來(lái)的平方和開(kāi)方運(yùn)算所需的計(jì)算
開(kāi)銷(xiāo),本文提出下面的近似計(jì)算梯度的方法。
1)設(shè)φi=10(2i?1),i=0,1,2,3,……,9,并算出其正切值tanφi;
3)求圖像中每個(gè)像素點(diǎn)的水平方向差分xP和垂直方向差分Py以及梯度方向θ的正切tanθ;
為了減小噪聲的影響,提高檢測(cè)的準(zhǔn)確性,采用Sobel梯度檢測(cè)算子來(lái)計(jì)算水平和垂直方向的差分[14,15],其相應(yīng)的檢測(cè)模板如下圖:
Sobel水平模板
Sobel垂直模板
1)對(duì)圖像中任意一像素(m, n),如果tanφk<tanθ<tan φk+1,則利用公式(1),可認(rèn)為該點(diǎn)的梯度值g( m, n)=Px·cos?k+Py·sin?k。
若tanθ>20或者tanθ<?20,則令θ=90°
這種求梯度的算法,將邊緣方向細(xì)分到每10°的區(qū)間內(nèi),比經(jīng)典的求梯度的方法計(jì)算量稍大,但是在實(shí)時(shí)性上依然能滿(mǎn)足一般的要求,得到的梯度值卻更為精確,還能根據(jù)所處理對(duì)象的精度要求,適當(dāng)?shù)臏p小iφ和φi+1之間的距離,可使檢測(cè)的方向更多,結(jié)果更精確。下表1列出了幾種梯度算法在PC上運(yùn)行的時(shí)間比較。
表1 幾種梯度算法在PC上運(yùn)行時(shí)間
2.3 邊緣檢測(cè)和提取
選擇合適的閥值T,如果像素(m, n)對(duì)應(yīng)的梯度值g>T則認(rèn)為該像素為邊緣點(diǎn),將其像素值設(shè)置為255,若像素(m, n)對(duì)應(yīng)的梯度值g<T則認(rèn)為該像素為非邊緣點(diǎn),將非邊緣點(diǎn)的像素值設(shè)置為0[16]。這樣就得到了待檢測(cè)圖像的二值化的邊緣圖像。
對(duì)Lena圖像分別用經(jīng)典的Sobel算法、和本文算法進(jìn)行實(shí)驗(yàn)比較,同時(shí)比較采用中值濾波和不采用中值濾波的差別。
圖1 Lena原圖
圖2 經(jīng)典Soble算
圖3 本文梯度算法未采用中值濾波
圖4 本文邊緣檢測(cè)算法
由實(shí)驗(yàn)結(jié)果對(duì)比圖3和圖4可以看出,中值濾波對(duì)最忌噪聲效果顯著,但同時(shí)也可看出,其對(duì)濾除高密度的鹽椒噪聲能力不足。相比經(jīng)典Soble方法得到的邊緣,本文方法得到的邊緣更準(zhǔn)確清晰,很明顯圖4檢測(cè)到了圖2中沒(méi)有檢測(cè)到的邊緣點(diǎn),同時(shí)也排除了一些非邊緣點(diǎn),檢測(cè)效果得到了一定的提升。
[1] 谷口慶治. 數(shù)字圖像處理(應(yīng)用篇)[M].北京:科學(xué)出版社,2002.
[2] 趙芳,欒曉明,孫越.數(shù)字圖像幾種邊緣檢測(cè)算子檢測(cè)比較分析[J].自動(dòng)化技術(shù)與應(yīng)用,2009, 28(3):68-70.
[3] 龔聲榮,劉純平,王強(qiáng),等.數(shù)字圖像處理與分析[M].北京:清華大學(xué)出版社,2006.
[4] John Canny,Member,IEEE.A Computational Approach to Edge Detection[J]. IEEE Trans.Pattern Analysis and Machine Intelligence, 1986, PAMI-8(1): 679-697.
[5] 張斌,宋 吻,賀安之.基于任意方向圖像導(dǎo)數(shù)算法的邊緣檢測(cè)技術(shù)[J].光電工程,2009,36(10):124-128.
[6] R.Deriche.Using Canny’s Criteria to Derive a Recursively Implemented Optimal Edge Detector[J].Int.J.Computing Vision.1987,1(2):167-187.
[7] Theo Gevers,Arnold W.M.Smeulders.Content-based Image Retrieval by Viewpoint Invariant Color Indexing[J].Image and Vision Computing,1999(17):475-488.
[8] Chen W.A new algorithm of edge detection for color image:generalized fuzzy operator[J]. Science in China (A),1995,38(10):1272-1273.
[9] 黃劍玲,鄒輝.一種精確的自適應(yīng)圖像邊緣提取方法[J]. 計(jì)算機(jī)工程與科學(xué), 2009, 31(9): 53-55.
[10] 余洪山,王耀南.一種改進(jìn)型canny邊緣檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用, 2004, 40(20) 27-29.
[11] Ataman E,Aatre V K,Wong K M.Some statistical Properties of median filtrs[J].IEEE Transactions on Acoustics Speech,Signal Processing, 1980, 28(4):415-421.
[12] 聶漢軍,沈永增. 基于小波變換和模糊中值濾波的圖像邊緣檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用, 2002: 38(13): 91-92.
[13] Trahanias P E,Pitas I,Venetsanopoulos A N.Directional processing of color image:theory and experimental results[J].IEEE Trans.on Image Processing,1996, 5(6): 868-880.
[14] 袁春蘭,熊宗龍,周雪花,等. 基于Soble算子的圖像邊緣檢測(cè)研究[J].激光與紅外, 2009, 39(1): 85-87.
[15] Sobel L.Camera Models and Machine Perception[D].PhD thesis,Standford University,Standford, CA,1970.
[16] MALLAT S,ZHANG S.Characterization of signals from muhiseale edges[J].IEEE Trans PAM I 1992,14(7):710-732.
An Improved Edge Detection Algorithm Based on Grad
HUANG Jin-guo, DAI Zhi-ming, ZHOU Pei-yuan
(Huazhong University of Science and Technology, Wuhan Hubei 430074, China)
This paper proposes an improved edge detection algorithm based on grad, which aims at the sensitivity of classic edge detection algorithm against directions. This new algorithm can be adjusted to any directions in accordance with the actual requirements of precision, characterized by its easy operation, perfect performance on locating the edge of image and resisting noise.
grey-level gradient;edge detection;median filter;Sobel Operator
TP309
A
1009-5160(2010)03-0033-03
*通訊作者:周培源(1965-),男,副教授,研究方向:嵌入式系統(tǒng)與信息安全.
國(guó)家科技支撐計(jì)劃“虛擬實(shí)驗(yàn)教學(xué)環(huán)境關(guān)鍵技術(shù)研究與應(yīng)用示范”(2008BAH29B00).