孫莉紅,管庶安,江 峰,孔 巖,王曉花
(武漢工業(yè)學院數(shù)學與計算機學院,湖北武漢430023)
基于二維小波模極大點的邊緣檢測算法
孫莉紅,管庶安,江 峰,孔 巖,王曉花
(武漢工業(yè)學院數(shù)學與計算機學院,湖北武漢430023)
研究利用二維小波變換的模極大與法向角來檢測圖像邊緣的方法。與采用傳統(tǒng)方法進行比較,本方法得到的邊緣不僅較完整、對噪聲不敏感,而且具有單像素寬度,定位精確。
小波變換;模極大;邊緣檢測
邊緣檢測是圖像處理的重要基礎,是后續(xù)圖像識別和圖像理解的前提[1]。圖像的邊緣廣泛存在于物體與背景之間,物體與物體之間和基元與基元之間,是圖像信息最集中的地方,包含著豐富的信息,它能夠勾畫出目標物體。
邊緣是由灰度的不連續(xù)性所反映的,有方向和幅度兩個特性。沿邊緣切向的灰度變化較為平緩,而沿法向的灰度變化劇烈。這種變化可能呈現(xiàn)階躍形或屋頂形。因此,邊緣可以粗略地分為階躍形邊緣和屋頂形邊緣兩種。對于階躍形邊緣,一階導數(shù)在邊緣處達到極值,二階導數(shù)在邊緣處呈零交叉,對于屋頂形邊緣,一階導數(shù)在邊緣處呈零交叉,而二階導數(shù)在邊緣處取極值。
常用的邊緣檢測方法有微分算子法。目前已有一系列基于微分的邊緣檢測算子,如Robert算子、Sobel算子、Prewitt算子等[2],基于小波變換法和基于數(shù)學形態(tài)學法。數(shù)學形態(tài)學理論的邊緣檢測算法在噪聲抑制方面有明顯的優(yōu)勢,但是速度較慢。微分檢測算子方法中,邊緣檢測算子參數(shù)的選擇會直接影響到邊緣定位的能力和噪聲抑制的能力。噪聲抑制能力和邊緣保持性是評價邊緣檢測方法好壞的重要標準,小波變換可以很好地去除圖像噪聲,當取小波母函數(shù)為平滑函數(shù)的一階導數(shù)時,信號的小波變化的模在信號的突變點處取局部極大值。并且隨著尺度的增加,噪聲引起的小波變換的模極大值迅速減小,而邊緣對應的模極大值不隨尺度變化,故小波具有較強的在低信噪比的信號中辨識噪聲和邊緣的能力[3]。
小波變換是近年來在圖像處理中十分受重視的新技術,與傅里葉變換相比,小波變換由于其在高頻時具有時間精度和低頻時具有的頻率精度,能自動適應時頻信號分析的要求,可以聚焦到信號的任意細節(jié)等顯著特點而越來越受到廣泛的重視,小波被迅速應用到圖像和語音分析等眾多領域。
本文將利用小波變換與模極大點跟蹤的方法進行邊緣檢測,并與傳統(tǒng)的邊緣檢測方法如Sobel和Prewitt算子檢測進行對比,討論檢測效果。
設 θ(x,y)是一低通平滑函數(shù),令 ψ2(x,y)=稱為小波基函數(shù)。其中上標1和2分別表示相對于x和y。
要求 ψ1(x,y),ψ2(x,y)具有緊支特性,引入尺度參數(shù) s,分別用 x/s、y/s代替 x、y,則 ψ1(x,y)、ψ2(x,y)記為
灰度圖像f(x,y)的二維小波變換為
f(x,y)在(x,y)點的小波變換有模和幅角兩個分量,分別記為:則沿法向方向上的模極大點為邊緣點。
為了使小波變換適用于邊緣檢測,先要選擇小波基函數(shù)為θ(x,y),鑒于高斯函數(shù)的無限光滑性,選 θ(x,y) 為高斯函數(shù)求關于和的偏導數(shù):
再引入尺度參數(shù)s,分別用x/s、y/s、代替x、y,上式記為:
選s=2,取σ約為17×17的矩形區(qū)域,計算得到(5)式和(6)式的模板值,分別記為wave1,wave2。
設原圖像f(x,y)的尺寸為480×640(單位為像素,高 ×寬),存放于二維數(shù)組 BYTE f[480][640]中,則f[y][x]的二維小波變換的離散表達式為:
對于邊緣檢測,變換后的結果用模和法向角的形式表示能更詳盡地表示邊緣信息。在實際程序中只需定義存放模和法向角的兩個二維數(shù)組,兩個分量只是計算中的周轉變量。
經(jīng)過計算,可以得出與原圖像相對應的模M[y][x]的圖像。如圖1 所示,(a)為原圖像,(b)為模M[y][x]的圖象。由圖1可見,圖(b)較好地突出了邊緣,白色越亮,對應的邊緣越強烈。
圖1 原圖像與變換后模圖像
設P點為M[y][x]中的邊緣上的點,P點對應的法向角為 Ap,則沿著 Ap方向,M[y][x]取得極大值的點就是P點。將M[y][x]中的所有符合這一條件的點搜索出來,就得到厚度為1個像素的邊緣。在搜索邊緣之前,先定義數(shù)組 BYTE D2[480][640],用于存放檢測結果。若 D2[y][x]=1,則(x,y)點為邊緣點,否則 D2[y][x]=0.定義存放(x,y)點的法向角的數(shù)組 A[480][640],用于在法向上搜索模極大點。定義邊緣分割靈敏度閾值T,當模 M[y][x]≥T 時,將(x,y)點作為邊緣候選點,以便在候選點中進一步搜索有效邊緣點。根據(jù)小波變換模極大搜索厚度為1像素的邊緣的算法如下。
對于圖像中的每一個像素點(x,y),執(zhí)行下面1到3的操作。
1.若M[y][x]小于 T,則不對這個像素點的操作;否則,轉2;
2.將A[y][x]量化為圖2所示的4個方向,編碼為 d=0,1,2,3。
3.if(d==0且此像素點對應的模值大于其左右兩邊像素點的模值)D2[y][x]=1。
else if(d= =1且此像素點對應的模值大于其右上、左下方像素點的模值)D2[y][x]=1。
else if(d= =2且此像素點對應的模值大于其上下兩邊像素點的模值)D2[y][x]=1。
else if(d= =3且此像素點對應的模值大于其左上、右下方像素點的模值)D2[y][x]=1。
算法中,將法向角量化為8個區(qū)域,依次對應d=0,1,2,3……7,在 360°的范圍內(nèi),每個區(qū)域占45°,-22到22 為 d=1 的區(qū)域,23°到67°對應 d=2的區(qū)域,依次類推。如圖2所示。
圖2 將A[y][x]量化為8個方向
從圖2中可以看出,d=0與d=4,d=1與d=5,d=2與d=6,d=3與d=7,分別在一個方向上,所以,程序中只需考慮 d=0,1,2,3 的情況。
算法中閾值T的選取很重要。T選取過大,噪聲抑制效果很好,但是很多弱邊緣也同時被濾除,細節(jié)丟失嚴重;T選取過小,圖像中的細節(jié)多,弱邊緣也保留了,但是將保留過多的無效邊緣,所以全局閾值的設定不能較好地做到保留邊緣和去除噪聲的平衡[4]。在圖像中找出人眼可以識別出來的最模糊的邊緣點,取這些邊緣點中的一個像素點進行(7)、(8)式的計算,得到模值M在400左右。邊緣越清晰的點,模值越大,邊緣越模糊的點,模值越小。經(jīng)實驗可得,取閾值T=400時提取邊緣的效果是最佳的。圖3是對同一幅圖像分別采用本文方法、Prewitt算子、Sobel算子進行檢測的結果。Prewitt算子方法簡單,處理速度快[5]。Prewitt邊緣檢測考慮了8鄰域內(nèi)的像素,在一定程度上平滑了噪聲,但由于采用了不連續(xù)的模板系數(shù),很難兼顧邊緣的完整性和單像素厚度,定位精度比較低。Sobel算子對Prewitt算子的模板系數(shù)做了一定的改進,在對噪聲有一定的抑制能力的同時保留邊緣細節(jié)[6]。但這種改進并未完全突破模板系數(shù)的不連續(xù)性,在難兼顧邊緣的完整性和定位精度方面改進不大。而基于二維小波模極大點和法向角的邊緣跟蹤方法,不僅具有較強的抑制噪聲能力,而且還較好的保留了弱邊緣。
圖3 三種邊緣檢測的結果
通過上述試驗結果及分析可以看出,文中給出的基于二維小波模極大點的邊緣跟蹤方法是檢測出的圖像邊緣效果較好,由于小波變換具有良好的時頻局域化特性和多尺度分析能力[7],因此用小波分析的方法檢測到的邊緣比較完整,圖像的輪廓清晰,且能較好地抑制噪聲。但是對于不同的圖像,最好要選定相應的閾值T,以獲得最強的抗噪聲能力和最佳的弱邊緣保留能力。
[1] 宋瑩,陳科,林江莉,等.基于圖像分塊的邊緣檢測算法[J].圖形圖像處理,2010(7).
[2] VanderBrug G J.Two-stage Template Matching[J].IEEE Trans.On Computers,1977,26(4):384-393.
[3] 牛保青,李文林.圖像邊緣檢測算法分析[J].安陽工學院學報,2009(6).
[4] 郭立智,趙金環(huán).基于小波變換的邊緣檢[J].青島理工大學學報,2007,28(2).
[5] 馬春梅花,趙景秀.一種新的基于小波變換的邊緣檢測算法[J].計算技術與自動化,2009(12).
[6] 陳天華.數(shù)字圖像處理[M].北京:清華大學出版社,2007.6.
[7] XU Y S.Wavelet transform domain filters :A spatially selective noise filtration technique[J].IEEE Transform Image Processing,1994(9):747-758.
Edge detecting algorithm based on modulus maxima of 2D wavelet transform
SUN Li-hong,GUAN Shu-an,JIANG Feng,KONG Yan,WANG Xiao-hua
(School of Mathematics and Computer Science,Wuhan Polytechnic University,Wuhan 430023,China)
It is researched in this paper using the modulus maxima of 2D wavelet transform and normal angle to detect image edges.Compared with traditional methods,the method used in this paper proved to be relatively complete,insensitive to noises,with single pixel width and accurate precision.
wavelet transformation;maximum mold;edge tracing
TP 391
A
1009-4881(2011)04-0066-03
10.3969/j.issn.1009-4881.2011.04.017
2011-06-06.
孫莉紅(1986-)女,碩士研究生,Email:007sunlihong@163.com.
管庶安(1956-)男,教授,E -mail:jsj_g@163.com.