李久芳
(中國電子科技集團(tuán)公司第四十五研究所北京東燕郊 065201)
在實(shí)際運(yùn)用中,如何得到有意義的邊緣,去掉噪聲和無意義的邊緣,一直是我們研究的課題,并且對(duì)邊緣圖像的濾波方法要求具有很高的穩(wěn)定性和精度,并且算法簡單,可操作性強(qiáng)。大量的文獻(xiàn)資料是對(duì)提取后的邊緣圖像進(jìn)行處理和研究,但是提取邊緣后的圖像,參雜了更多的噪聲,并且邊緣也不連續(xù),這就給邊緣圖像的分析帶來了很大的困難。
所以在我們多年的研究的基礎(chǔ)上,提出了一種基于二值化的邊緣圖像濾波方法,先對(duì)原始圖像進(jìn)行二值化,再進(jìn)行區(qū)域標(biāo)記,再將處理后的圖像與提取邊緣后的圖像進(jìn)行與運(yùn)算,最終得到的邊緣圖像就是我們想要的邊緣圖像。圖1為本文中提到的圖像處理流程。

圖1 圖像處理過程
二值化是基于閾值的圖像分割,根據(jù)灰度值區(qū)分圖形和背景。此方法適合對(duì)前景和背景有較強(qiáng)對(duì)比的圖像進(jìn)行分割,閾值一般由圖像的灰度直方圖計(jì)算得到。選取閾值的方法有很多,有模態(tài)法、迭代法、自適應(yīng)閾值法、雙閾值法等,考慮到運(yùn)算量和精度,我們采用了迭代算法進(jìn)行圖像的分割。
迭代法是針對(duì)雙峰直方圖的計(jì)算分割閾值的方法。首先選擇一個(gè)近似閾值作為估計(jì)值的初始值,然后連續(xù)不斷地改進(jìn)這一估計(jì)值。比如,使用初始閾值生成子圖像,并根據(jù)子圖像的特性來選取新的閾值,再用新的閾值分割圖像,這樣做的效果將好于用初始閾值分割圖像的效果。閾值的改進(jìn)策略是這一方法的關(guān)鍵。
算法:
(1)首先確定圖像中最大和最小的灰度值max和min,令初始的閾值為T=(max+min)/2。
(2)根據(jù)T,將圖像分成目標(biāo)和背景兩部分,分別求出兩部分的平均灰度:

其中:i為灰度值,ni為灰度等于i的像素?cái)?shù)。
(4)如果TK+1=TK,則結(jié)束迭代過程,否則繼續(xù)。
得到閾值T之后,對(duì)圖像進(jìn)行灰度的閾值變換,將圖像轉(zhuǎn)換成黑白二值圖像。如果圖像中某像素的灰度值小于該閾值,則將該像素的灰度值設(shè)置為0,否則灰度值設(shè)置為255。
灰度閾值變換的變換函數(shù)表達(dá)式為:

區(qū)域標(biāo)記是指給連接在一起的像素附上相同的標(biāo)記,不同的連接成份附上不同的標(biāo)記。區(qū)域標(biāo)記在二值圖像處理中占有非常重要的地位。對(duì)二值化的圖像實(shí)施區(qū)域標(biāo)記處理,標(biāo)記處理結(jié)果是一標(biāo)記矩陣,矩陣元素為一些非負(fù)的整數(shù),其中每一個(gè)正整數(shù)對(duì)應(yīng)于圖像中的一個(gè)對(duì)象,對(duì)每一個(gè)正整數(shù)在標(biāo)記矩陣中出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計(jì),有極大統(tǒng)計(jì)值的正整數(shù)對(duì)應(yīng)的對(duì)象是圖像中具有像素極大連接的部分,有較小統(tǒng)計(jì)值的正整數(shù)對(duì)應(yīng)的對(duì)象是圖像中具有像素較小連接的部分,保留這些具有極大統(tǒng)計(jì)值的正整數(shù)對(duì)應(yīng)的對(duì)象,即保留了圖像中主要的和我們關(guān)心的區(qū)域,相應(yīng)地濾除了部分噪聲及無意義區(qū)域,可以提高圖像質(zhì)量。在上一步中得到了二值化圖像,現(xiàn)在將這些二值化的圖像連接成幾何相關(guān)的區(qū)域,將標(biāo)記后的區(qū)域,按照尺寸大小進(jìn)行排序,通過設(shè)置閾值,去除小的區(qū)域。
算法:
(1)掃描圖像,遇到?jīng)]加標(biāo)記的目標(biāo)像素(白像素)P時(shí),添加一個(gè)新的標(biāo)記;
(2)給與P連接在一起(即相同連接成份)的像素添加相同的標(biāo)記;
(3)進(jìn)一步給所有與加標(biāo)記像素連接在一起的像素添加相同的標(biāo)記;
(4)直到連接在一起的像素全部被添加標(biāo)記。這樣,一個(gè)連接成份就被添加了相同的標(biāo)記;
(5)返回到第1步,重新查找新的沒加標(biāo)記的像素,重復(fù)上述各個(gè)步驟;
(6)圖像全部被掃描后,處理結(jié)束。
圖像之間的邏輯運(yùn)算包括與、或、非等運(yùn)算.就邏輯與運(yùn)算而言,其可以用來確定圖像的公共區(qū)域。特點(diǎn)是對(duì)參與邏輯運(yùn)算的兩幅圖像中對(duì)應(yīng)像素進(jìn)行判斷。下面以二值化圖像為例來比較這兩種運(yùn)算的特點(diǎn)。設(shè)A和B分別表示兩幅圖像,像素間的邏輯與運(yùn)算表示為:

其中:C為經(jīng)過邏輯與運(yùn)算得到的圖像。這種運(yùn)算的特點(diǎn)是逐個(gè)像素進(jìn)行比較。若兩個(gè)對(duì)應(yīng)像素灰度都為“255”,則運(yùn)算的結(jié)果中保留此像素,否則像素置為“0”。
將我們實(shí)際運(yùn)用中的十字標(biāo)記圖形經(jīng)過canny算子提取邊緣,再使用本文介紹的方法對(duì)邊緣圖像進(jìn)行濾波,結(jié)果如圖1~圖5所示,在這里區(qū)域標(biāo)記選用最大的連接區(qū)域。可見運(yùn)用本文的方法能很好地得到我們需要的邊緣圖像。

圖1 原圖

圖2 canny提取邊緣后的圖像

圖3 二值化的圖像

圖4 區(qū)域標(biāo)記的圖像

圖5 與運(yùn)算后的圖像
由于圖像邊緣中的大量有價(jià)值的信息對(duì)于圖像的進(jìn)一步處理有著重要的意義,因此許多工作都圍繞著尋求邊緣定位和噪聲平滑的最佳折中展開。本文討論了基于二值化的邊緣圖像濾波方法,先對(duì)圖像進(jìn)行二值化,再進(jìn)行區(qū)域標(biāo)記,處理后的圖像再與提取的邊緣圖像進(jìn)行與運(yùn)算。實(shí)驗(yàn)結(jié)果表明,該方法簡單不僅能濾除部分噪聲還提高了邊緣圖像的質(zhì)量,在實(shí)際運(yùn)用中取得了較好的效果。并且具有非常高的實(shí)用性。
[1] 張?jiān)?李久芳.邊緣圖像濾波算法[J].電子工業(yè)專用設(shè)備,2007,(8):30-32.
[2] 徐慧.Visual C++數(shù)字圖像實(shí)用工程案例精選[M].北京:人民郵電出版社,2004.
[3] 陳兵旗,孫明.Visual C++實(shí)用圖像處理專業(yè)教程[M].北京:清華大學(xué)出版社,2004.