《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于LoG算子的邊緣零交叉二值化方法
基于LoG算子的邊緣零交叉二值化方法
趙全友,潘保昌,鄭勝林,陳簫楓
廣東工業(yè)大學(xué) 信息工程學(xué)院數(shù)字圖像研究所,廣東 廣州510643
摘要: 針對(duì)全局閾值法和局部閾值法的不足,提出一種基于LoG算子的邊緣零交叉二值化方法,并通過(guò)實(shí)驗(yàn)分析各算法的二值化效果及運(yùn)算速度。
Abstract:
Key words :

摘  要: 針對(duì)全局閾值法和局部閾值法的不足,提出一種基于LoG算子邊緣零交叉二值化方法,并通過(guò)實(shí)驗(yàn)分析各算法的二值化效果及運(yùn)算速度。
關(guān)鍵詞: 二值化  LoG算子  邊緣零交叉  連通區(qū)域標(biāo)記

1  現(xiàn)有的圖像二值化算法
  二值化是圖像處理、圖像分析及模式識(shí)別中的一個(gè)重要問(wèn)題,是許多識(shí)別應(yīng)用系統(tǒng)中不可缺少的重要環(huán)節(jié)。二值化效果的好壞直接影響到系統(tǒng)的性能。因此學(xué)者們對(duì)此進(jìn)行了重點(diǎn)研究,目前提出了許多算法[1]。這些算法大體上可以劃分為2類,即全局閾值法和局部閾值法。全局閾值法是指對(duì)整幅圖選取單一的閾值來(lái)進(jìn)行二值化,典型的算法有直方圖、直方圖變換法、大津(Otsu)法[2]和熵法等。如果圖像的灰度直方圖呈現(xiàn)雙峰,或者圖像中背景灰度與目標(biāo)灰度呈明顯分離狀,則全局閾值法分割圖像效果良好且速度快。但是圖像常常要受到噪聲、光照不均勻、污染等影響,致使背景象素灰度和目標(biāo)象素灰度互相交錯(cuò)重疊在一起,圖像直方圖呈現(xiàn)單峰或多峰,全局閾值法無(wú)法獲得滿意的二值化效果,這時(shí)必須要考慮圖像的空間局部特性。局部閾值法根據(jù)局部信息確定局部閾值來(lái)二值化圖像。典型的局部閾值法有Kamel-Zhao算法[3]和Bernsen算法[4]等。它們能克服光照不均勻等干擾,自適應(yīng)地根據(jù)局部灰度特性選取閾值。由于Kamel-Zhao算法要選擇閾值,使其使用受到限制;Bernsen算法則沒(méi)有該限制,實(shí)驗(yàn)結(jié)果普遍表明其效果要比Kamel-Zhao算法好,但是卻會(huì)產(chǎn)生諸如目標(biāo)部分缺失、偽影(ghost)等缺點(diǎn)和問(wèn)題?;诰植繕O值的快速二值化方法(Local Extreme Value Based Binarization,LEVBB)[5]是對(duì)Bernsen算法進(jìn)行的改進(jìn),但是仍然有一些不足,如文本筆劃粘連等。
  針對(duì)以上討論,本文提出了一種基于拉普拉斯高斯(Laplacian of Gaussian,LoG)算子的邊緣零交叉二值化方法。利用LoG算子的優(yōu)良特性檢測(cè)出圖像的邊緣零交叉,確定出邊緣零交叉點(diǎn)二側(cè)的象素為目標(biāo)或是背景,對(duì)圖像中均一區(qū)域(背景或者目標(biāo))根據(jù)鄰域?qū)傩源_定其歸屬。實(shí)驗(yàn)結(jié)果表明該方法能克服局部閾值法的目標(biāo)部分缺失和偽影現(xiàn)象,也克服了全局閾值法易受噪聲和光照不均勻的影響,而且二值化效果比LEVBB算法要好。
2  邊緣零交叉二值化方法概述
  雖然圖像常常會(huì)受到光照不均勻等因素的影響,圖像的整體直方圖呈現(xiàn)單峰或者多峰,其目標(biāo)象素和背景象素灰度互相重疊,但是目標(biāo)的邊緣仍然存在。根據(jù)這一特點(diǎn)可以實(shí)現(xiàn)這類降質(zhì)圖像的正確二值化。分析局部閾值法產(chǎn)生的目標(biāo)缺失和偽影現(xiàn)象,發(fā)現(xiàn)當(dāng)局部不存在目標(biāo)點(diǎn)時(shí),背景灰度的非均勻性將影響局部閾值的變化。當(dāng)考察的局部區(qū)域均為目標(biāo)或背景時(shí),局部閾值法會(huì)強(qiáng)行將其二值化為背景和目標(biāo)二部分,從而產(chǎn)生目標(biāo)區(qū)域斷裂和偽影現(xiàn)象。邊緣零交叉二值化方法可以克服這些缺陷。開(kāi)始只對(duì)邊緣象素作處理,通過(guò)LoG算子檢測(cè)出邊緣并將二側(cè)的局部象素劃分為背景和目標(biāo)2類;當(dāng)局部均為目標(biāo)或者背景(這時(shí)不存在邊緣)時(shí),先將其確定為待定區(qū)域,然后進(jìn)行連通區(qū)域標(biāo)記,最后根據(jù)標(biāo)記后連通區(qū)域周圍象素的屬性判斷歸屬將其正確地進(jìn)行二值化。
2.1 LoG算子邊緣檢測(cè)
  在Marr的視覺(jué)理論中,視覺(jué)的第一階段很大程度上是由零交叉檢測(cè)器完成的。然而利用圖像強(qiáng)度二階導(dǎo)數(shù)的零交叉點(diǎn)求邊緣的算法對(duì)噪聲十分敏感,所以希望在邊緣增強(qiáng)前濾除噪聲。為此,Marr和Hildreth將高斯濾波和拉普拉斯邊緣檢測(cè)結(jié)合在一起,形成LoG算法,也稱為拉普拉斯高斯算法。這種方法的特點(diǎn)是圖像先與高斯濾波器G(x,y)進(jìn)行卷積,這一步既平滑了圖像又降低了噪聲,孤立的噪聲點(diǎn)和較小的結(jié)構(gòu)組織將被濾除。然后利用無(wú)方向性的拉普拉斯算子實(shí)現(xiàn)邊緣檢測(cè)。
  設(shè)原圖像為f(x,y),利用下式通過(guò)卷積運(yùn)算得到LoG算子的輸出h(x,y):
  

  

  LoG算子為一個(gè)倒立的墨西哥草帽形。取δ=1.0時(shí)的LoG算法圖形如圖1所示。神經(jīng)心理學(xué)研究證實(shí)它是對(duì)視網(wǎng)膜神經(jīng)細(xì)胞感受域組織的一個(gè)良好近似,可看作由一個(gè)興奮中心區(qū)和一個(gè)抑制周邊區(qū)組成。

  于是對(duì)于離散數(shù)字圖像f(x,y),公式(2)的LoG算子的輸出h(x,y)可以用下式近似計(jì)算:
  h(x,y)=m(x,y)*f(x,y)      (4)

2.2 邊緣零交叉二值化方法
  LoG算子邊緣零交叉算法在圖像處理中常用于邊緣檢測(cè)。這里利用其確定邊緣二側(cè)運(yùn)算后產(chǎn)生的結(jié)果正負(fù)性,并結(jié)合連通區(qū)域標(biāo)記進(jìn)行二值化。
  LoG算子對(duì)圖像邊緣的影響如圖3所示。由圖易知,對(duì)圖像的邊緣二側(cè)的象素經(jīng)過(guò)LoG算子計(jì)算后,低灰度值側(cè)的h(x,y)>0,高灰度值側(cè)的h(x,y)<0。于是可以利用h(x,y)來(lái)對(duì)圖像進(jìn)行邊緣二值化,即h(x,y)>0的象素為背景,h(x,y)<0的象素為目標(biāo)。

  如果使用LoG算子計(jì)算后對(duì)圖像的邊緣零交叉結(jié)果h(x,y)直接進(jìn)行二值化,則會(huì)產(chǎn)生一些假邊緣。這時(shí)可以借助局部區(qū)域圖像象素灰度的極大值和極小值的差值來(lái)判斷該區(qū)域?qū)儆诰粎^(qū)域還是真正的邊緣,并利用邊緣零交叉將圖像分為3類(如圖3(b)所示),方法如下:
  (1)當(dāng)該極大與極小差值大于某個(gè)閾值且h(x,y)>0時(shí),令該象素為背景‘B’。
  (2)當(dāng)該極大與極小差值大于某個(gè)閾值且h(x,y)<0時(shí),令該象素為目標(biāo)‘A’。
  (3)當(dāng)前二者條件都不滿足時(shí),令該象素為待定區(qū)域‘0’。
  為了確定待定區(qū)域象素的最后歸屬,對(duì)每個(gè)待定區(qū)域象素進(jìn)行4連通區(qū)域標(biāo)記,并分別統(tǒng)計(jì)每個(gè)標(biāo)記區(qū)域周圍的8連接目標(biāo)象素個(gè)數(shù)numA與8連接背景象素的個(gè)數(shù)numB。利用numA和numB進(jìn)行二值化,規(guī)則如下:
  (1)當(dāng)該區(qū)域的8連接目標(biāo)象素個(gè)數(shù)numA大于8連接的背景象素個(gè)數(shù)numB時(shí),令該區(qū)域象素為目標(biāo)‘A’。
  (2)當(dāng)該區(qū)域的8連接目標(biāo)象素個(gè)數(shù)numA小于等于8連接的背景象素個(gè)數(shù)numB時(shí),令該區(qū)域象素為背景‘B’。
  經(jīng)過(guò)以上步驟得到背景和目標(biāo)分開(kāi)的二值圖像。
3  邊緣零交叉圖像二值化方法實(shí)現(xiàn)
  設(shè)一幅待處理圖像為f(x,y),邊緣零交叉圖像二值化方法實(shí)現(xiàn)算法的詳細(xì)步驟描述如下:
  (1)為了消除個(gè)別奇異點(diǎn)和白噪聲的影響,首先采用n×n的均值濾波器平滑原圖像f(x,y),得到平滑后圖像f ′(x,y)。這里取n=5。
  (2)為了判斷象素是否屬于均一區(qū)域,引進(jìn)該象素周圍局部區(qū)域的極大值與極小值的差值a(x,y)。它由下式給出:
  示以考察象素點(diǎn)(x,y)為中心的大小為(2u+1)×(2u+1)窗寬區(qū)域中象素灰度的極大值和極小值。為了提高算法的快速性,采用二維圖像局部窗口內(nèi)極值快速算法[5]求取極值。
  (3)選定LoG算子的參數(shù)w和δ,根據(jù)公式(4)計(jì)算f ′(x,y)的LoG算子的輸出h(x,y)。此時(shí),LoG算子的高斯濾波器將進(jìn)一步對(duì)局部的噪聲點(diǎn)引起的灰度突變消除影響。本文實(shí)驗(yàn)結(jié)果選取的參數(shù)為w=5,δ=0.7。
  (4)將圖像f ′(x,y)的象素三類化,得到L(x,y)。三類化規(guī)則如下:
    

  Ts閾值為一個(gè)很小的數(shù),這里取Ts=5。‘B’代表背景;‘0’為均一待定區(qū)域;‘A’代表目標(biāo)。
  (5)對(duì)L(x,y)中標(biāo)記為‘0’象素進(jìn)行4連通區(qū)域標(biāo)記,得到一系列4連通標(biāo)記區(qū)域LR。對(duì)每個(gè)4連通標(biāo)記區(qū)域LR分別計(jì)算其周圍8連接的‘A’的數(shù)目numA和‘B’的數(shù)目numB。當(dāng)numA>numB時(shí),用‘A’標(biāo)記該LR。
  (6)對(duì)步驟(5)處理過(guò)的L(x,y)進(jìn)行二值化處理。即將L(x,y)中為‘A’的點(diǎn)標(biāo)記為目標(biāo),而將其他點(diǎn)標(biāo)記為背景。
  (7)經(jīng)過(guò)步驟(6)后的二值圖L(x,y)可能仍然會(huì)存在一些小塊的區(qū)域?yàn)榧倌繕?biāo)區(qū)。為了剔除這些因局部干擾而誤分的小區(qū)域,可以設(shè)定一閾值Ta。Ta的選取要依賴于目標(biāo)的大小,一般選取估計(jì)目標(biāo)區(qū)域點(diǎn)數(shù)最小值的10%。當(dāng)L(x,y)中8連接目標(biāo)區(qū)域AR點(diǎn)數(shù)小于Ta時(shí),令該AR區(qū)域?yàn)楸尘?。處理后得到最終的二值化結(jié)果輸出圖像為B(x,y)。
4  實(shí)驗(yàn)結(jié)果
  為了驗(yàn)證本文算法的有效性,選取4幅實(shí)際采集的圖像(相對(duì)原圖有縮放)進(jìn)行實(shí)驗(yàn)。原始灰度圖像及其對(duì)應(yīng)的直方圖分別如圖4和圖5所示。其中圖4(a)為一幅左暗右亮光照不均車牌圖像,其直方圖(圖5(a)所示)呈現(xiàn)多峰;圖4(b)為一幅由于陽(yáng)光照射而造成的上下光照不均車牌圖像,其直方圖(圖5(b)所示)也呈現(xiàn)多峰;圖4(c)為一幅左亮右暗且存在大量噪聲的橫幅,其直方圖(圖5(c)所示)呈現(xiàn)單峰;圖4(d)為一幅點(diǎn)光源下采集的指紋圖像,其直方圖(圖5(d)所示)呈現(xiàn)三峰。4幅圖像的目標(biāo)象素和背景象素灰度均互相重疊。

  在VC++6.0開(kāi)發(fā)環(huán)境下實(shí)現(xiàn)了Otsu法、Bernsen算法、LEVBB算法及本文算法,對(duì)圖4的4幅圖像進(jìn)行了對(duì)比實(shí)驗(yàn),其二值化結(jié)果圖像分別如圖6~9所示。

  由以上結(jié)果看出,Otsu法對(duì)直方圖為單峰或者多峰等目標(biāo)與背景象素灰度值交錯(cuò)的圖像會(huì)產(chǎn)生二值化錯(cuò)誤;Bernsen算法能夠正確二值化,但是會(huì)產(chǎn)生大量偽影現(xiàn)象,且對(duì)噪聲敏感;LEVBB算法結(jié)果較好,能有效地消除Bernsen算法產(chǎn)生的偽影現(xiàn)象,對(duì)噪聲不敏感,但是當(dāng)光照變化強(qiáng)烈時(shí),仍然有部分結(jié)果二值化不正確;本文算法能抗拒光照的劇烈變化和噪聲干擾,二值化結(jié)果能夠很好地保持目標(biāo)本來(lái)形態(tài),獲得更好的效果。在CPU為Pentium4、主頻1.7GHz、內(nèi)存512MB的PC機(jī)上各算法計(jì)算速度及效果比較如表1所示。從表中可以看出,本文的算法要比Bernsen算法速度快,但是比LEVBB算法慢,不過(guò)其計(jì)算速度在車牌識(shí)別等實(shí)用過(guò)程中是可以接受的。
5  結(jié)束語(yǔ)
  本文針對(duì)常用的整體閾值法和局部閾值法二類方法的局限性提出了一種邊緣零交叉二值化方法。該方法利用LoG算子的優(yōu)良特性檢測(cè)出圖像的邊緣零交叉,然后根據(jù)局部極大與極小差值,將圖像三類化,最后通過(guò)連通區(qū)域標(biāo)記,根據(jù)標(biāo)記后連通區(qū)域周圍象素的性質(zhì)完成最終的二值化處理。大量的實(shí)驗(yàn)對(duì)比(本文僅給出4個(gè)典型圖片結(jié)果)表明,本文算法較Otsu法、Bernsen算法及其改進(jìn)的LEVBB算法二值化效果好,能夠適應(yīng)光照不均和噪聲等干擾,同時(shí)能夠保持目標(biāo)的本來(lái)形態(tài)。雖然本文采用了二維圖像局部窗口內(nèi)極值快速算法,但是由于要進(jìn)行連通區(qū)域標(biāo)記及計(jì)算標(biāo)記后連通區(qū)域周圍目標(biāo)象素個(gè)數(shù)和背景象素個(gè)數(shù),導(dǎo)致本文算法速度較慢,但是其速度在實(shí)用中仍可以接受。進(jìn)一步的研究是如何提高本文算法的計(jì)算速度。
參考文獻(xiàn)
1   Pal N R,Pal S K.A Review of Image Segmentation Techniques.Pattern Recognition,1993;26(9)
2   Otsu N.A Threshold Selection Method from Gray-level Histograms.IEEE on Trans.Systems,Man,and Cybernetics,1979;9(1)
3   Kamel M,Zhao A.Extraction of Binary Character/Graphics  Images From Grayscale Document Images.Graphical Models and Image Processing,1993;55(3)
4   Bernsen J.Dynamic Thresholding of Gray-level Images.In:Proc of the 8th Int Conf on Pattern Recognition,Paris,F(xiàn)rance,1986
5   葉薌蕓,戚飛虎.文本圖像的快速二值化方法.紅外與毫米波學(xué)報(bào),1997;16(5)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。