鐘倫超 ,何川
(1.黃山學(xué)院 教務(wù)處,安徽 黃山 245041;2.黃山學(xué)院 信息工程學(xué)院,安徽 黃山 245041)
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,數(shù)字圖像處理成了日常生活和工作應(yīng)用中不可或缺的部分,很多材料分析和文檔存儲(chǔ)都是通過(guò)圖像處理來(lái)實(shí)現(xiàn).二值圖像雖然是只有黑白兩種顏色組成的簡(jiǎn)單圖像,但是它在數(shù)字圖像處理中占據(jù)了很重要的地位.二值圖像能夠有效區(qū)分圖像的背景和目標(biāo)物,這一特性使得二值圖像被廣泛應(yīng)用到各個(gè)研究領(lǐng)域,例如,醫(yī)學(xué)圖像中CT圖像特征提取、生物學(xué)方向的植物葉片等輪廓分析、車牌識(shí)別和圖像的字符提取等.
二值圖像處理離不開(kāi)圖像放大技術(shù),圖像放大有利于觀察圖像的細(xì)節(jié)特征.但是傳統(tǒng)的二值圖像放大會(huì)給圖像邊界帶來(lái)鋸齒,使圖像邊界不光滑,降低二值圖像的視覺(jué)效果,嚴(yán)重影響圖像的使用和美觀.針對(duì)該問(wèn)題,江巨浪、張佑生等人提出一種基于區(qū)域填充的二值圖像放大算法[1],對(duì)鋸齒區(qū)域檢測(cè)并進(jìn)行處理,使圖像邊界變得光滑.該算法有效地解決了二值圖像放大所帶來(lái)的邊緣鋸齒問(wèn)題,但是這類算法也存在一定不足,其在對(duì)二值圖像放大產(chǎn)生的鋸齒區(qū)域進(jìn)行補(bǔ)償后,新圖像的邊緣出現(xiàn)外擴(kuò)現(xiàn)象,圖像面積增加,圖像目標(biāo)物像素占比遠(yuǎn)大于原放大圖像目標(biāo)物像素占比.針對(duì)這個(gè)問(wèn)題,江巨浪等人提出了一種基于區(qū)域補(bǔ)償?shù)匿忼X消除算法[2],先對(duì)圖像近鄰放大一定倍數(shù),再用鋸齒區(qū)域補(bǔ)償法對(duì)鋸齒進(jìn)行去除,最后通過(guò)提出的形態(tài)學(xué)腐蝕算法對(duì)圖像邊緣外擴(kuò)部分進(jìn)行合理收縮.本文基于鋸齒檢測(cè)和填充算法[1],提出一種改進(jìn)的邊界保持算法,將圖像邊緣收縮到合理位置,同時(shí)使圖像邊緣保持良好的結(jié)構(gòu)性.通過(guò)實(shí)驗(yàn)對(duì)比,本文算法處理的圖像效果明顯優(yōu)于文獻(xiàn)[1]、文獻(xiàn)[2]提出的算法.
在利用圖像對(duì)數(shù)據(jù)特征進(jìn)行分析時(shí),需要對(duì)圖像進(jìn)行預(yù)處理,例如,灰度圖像的二值化、圖像放大.
(1)圖像二值化:本文采用MATLAB R2016b圖像處理自帶的graythresh和im2bw函數(shù)來(lái)完成圖像的二值化.
(2)二值圖像放大:二值圖像放大算法多種多樣,例如近鄰取樣法,雙線性插值法[3],樣條插值法[4]與B樣條插值法[5]等,通過(guò)多種二值圖像放大方法的實(shí)驗(yàn)結(jié)果比較,由于近鄰放大法處理后的二值圖像邊緣沒(méi)有出現(xiàn)灰度漸變的模糊現(xiàn)象,因此此處二值圖像的放大采用近鄰放大法,得到如圖1(b)所示放大5倍后的二值圖像.
本文的鋸齒檢測(cè)和填充方法是基于江巨浪、張佑生等人提出的基于區(qū)域填充的鋸齒消除算法[1],在此僅作簡(jiǎn)單介紹:將原圖像通過(guò)近鄰放大法放大5倍,再設(shè)定鋸齒邊長(zhǎng)長(zhǎng)度門限L,通過(guò)對(duì)近鄰放大的二值圖像進(jìn)行鋸齒檢測(cè),確定鋸齒所在區(qū)域三角形,通過(guò)填充條件得到如圖1(c)所示的填充像素,將填充像素與近鄰放大圖像合并,得到邊界光滑的放大圖像.處理效果如圖1(d)所示.
(a)原圖像 (b)近鄰放大5倍的圖像 (c)填充像素 (d)填充后的圖像圖1 區(qū)域填充去鋸齒的處理效果
如圖1(d)所示,通過(guò)區(qū)域填充得到了邊界光滑的菱形圖像,但是不難發(fā)現(xiàn),新圖像目標(biāo)物像素占比遠(yuǎn)大于圖1(b)的近鄰放大圖像,針對(duì)基于區(qū)域填充的鋸齒消除算法[1]帶來(lái)的圖像邊界外擴(kuò)問(wèn)題,本節(jié)提出改進(jìn)的形態(tài)學(xué)腐蝕算法對(duì)圖像進(jìn)行處理.采用圖像銳化中的一階微分思想,多次檢測(cè)圖像的非水平和非垂直邊界,再進(jìn)行腐蝕處理.腐蝕算法:從圖像左上角開(kāi)始依次檢測(cè)每一個(gè)像素的像素值,對(duì)于像素值為0的黑色像素點(diǎn)I(i,j),執(zhí)行式(1)的邏輯運(yùn)算,若邏輯運(yùn)算結(jié)果為TRUE,則將該黑色像素點(diǎn)像素值置為1;若邏輯運(yùn)算執(zhí)行結(jié)果為FALSE,則不改變目標(biāo)像素點(diǎn)的像素值.
~I(xiàn)(i,j)&(I(i-1,j)|I(i+1,j)|I(i,j-1)|I(i,j+1))&~(~I(xiàn)(i-1,j)&~I(xiàn)(i+1,j))&~(~I(xiàn)(i,j-1)&~I(xiàn)(i,j+1))
(1)
式(1)所表示的邏輯關(guān)系:目標(biāo)像素點(diǎn)為黑色,只要該點(diǎn)的4-近鄰像素值滿足左右不同時(shí)為黑且上下不同時(shí)為黑,就將該點(diǎn)的像素值置為1.我們用如圖2所示的圖形來(lái)進(jìn)一步說(shuō)明目標(biāo)像素點(diǎn)P0的4-近鄰的像素點(diǎn)分布情況,更形象地闡釋式(1)所表示的邏輯關(guān)系.圖2(a)-(h)為符合腐蝕條件式(1)的8種情形:
圖2 腐蝕算法中的目標(biāo)像素鄰域結(jié)構(gòu)
應(yīng)用此算法對(duì)填充后的圖像進(jìn)行處理,運(yùn)算一次就會(huì)使得圖像的邊界收縮一次,通過(guò)實(shí)驗(yàn)結(jié)果表明,由于放大倍數(shù)的原因,僅運(yùn)行一次并不能達(dá)到預(yù)期效果.在本文提出的算法中,我們?cè)O(shè)置腐蝕次數(shù)c,由試探方法決定c的數(shù)值,即腐蝕運(yùn)行次數(shù).我們通過(guò)不斷增加腐蝕次數(shù),計(jì)算腐蝕后的圖像中的目標(biāo)物像素比,并和近鄰放大圖像的目標(biāo)物像素比進(jìn)行比較,最終選擇和原圖像目標(biāo)像素占比最接近的c值,終止運(yùn)算,并輸出此時(shí)的處理圖像.
通過(guò)實(shí)驗(yàn)算法探測(cè),最終通過(guò)目標(biāo)物像素占比比較分析,得出腐蝕次數(shù)c值為3,即對(duì)原填充圖像運(yùn)用本文提出的腐蝕算法腐蝕3次,得到如圖3(b)所示的圖像,顯然,可以看到圖像邊界光滑且圖像結(jié)構(gòu)保持不變,原本外擴(kuò)的圖像邊界也進(jìn)行了合理的收縮.
(a)原填充圖像 (b)腐蝕后的圖像圖3 本文算法腐蝕的圖像效果
為了進(jìn)一步驗(yàn)證本文算法實(shí)際應(yīng)用中的有效性和實(shí)用性,通過(guò)民間剪紙來(lái)進(jìn)一步分析算法,處理結(jié)果如圖4所示.圖4(a)是189×183的原圖像,圖4(b)是用近鄰放大算法將原圖像放大5倍(945×915)的圖像,可以看出,圖像的非水平和非垂直邊界存在嚴(yán)重的鋸齒效應(yīng),圖像邊界不光滑,影響圖像的美觀;圖4(c)是基于區(qū)域填充處理的去鋸齒圖像,顯然,圖像的邊界出現(xiàn)了很嚴(yán)重的外擴(kuò)現(xiàn)象,通過(guò)表1的數(shù)據(jù)分析,可以得出目標(biāo)物像素占比大于原近鄰放大圖像;圖4(d)是基于補(bǔ)償法的腐蝕算法處理的結(jié)果,雖然該方法保證了合理的面積比,但是邊界光滑程度不理想,有較明顯的“抖動(dòng)感”,影響圖像美觀;圖4(e)為本文算法處理的圖像結(jié)果,不但有效去除了近鄰放大所帶來(lái)的邊界鋸齒,目標(biāo)物像素面積占比更加接近原放大圖像,且比(d)圖更加平滑美觀.
表1根據(jù)剪紙圖像的實(shí)際處理結(jié)果,統(tǒng)計(jì)了各類算法的目標(biāo)物像素面積占比及相對(duì)誤差,并與原近鄰放大圖像進(jìn)行比較分析.不難看出,本文算法處理的圖像目標(biāo)像素面積最接近原近鄰放大圖像,相對(duì)誤差僅為2.75%,明顯優(yōu)于文獻(xiàn)[1]和文獻(xiàn)[2]的處理結(jié)果,且誤差值在實(shí)驗(yàn)誤差允許范圍內(nèi).
(a)原圖像 (b)近鄰放大5倍的圖像 (c)文獻(xiàn)[1]算法處理的圖像
(d)文獻(xiàn)[2]算法處理的結(jié)果 (e)本文算法處理的結(jié)果圖4 二值圖像的鋸齒消除和腐蝕處理圖像效果
表1 圖像的目標(biāo)物像素占比及相對(duì)誤差的比較
圖4(e)的實(shí)驗(yàn)結(jié)果是在Intel(R) Pentium(R) CPU G2030(3.00GHz)、內(nèi)存4G的微機(jī)上采用MATLAB R2016b軟件編程實(shí)現(xiàn)的,算法運(yùn)行時(shí)間僅為305.52 ms.完全滿足實(shí)時(shí)處理圖像的時(shí)間要求.
二值圖像的放大技術(shù)應(yīng)用廣泛,但是傳統(tǒng)的二值圖像放大處理會(huì)給圖像帶來(lái)嚴(yán)重的邊界鋸齒,通過(guò)區(qū)域填充的方法消除邊界鋸齒時(shí),不可避免地出現(xiàn)邊界外擴(kuò)現(xiàn)象,增加放大圖像的目標(biāo)像素面積占比.本文采用區(qū)域填充的鋸齒去除算法[1]對(duì)近鄰放大圖像的邊界鋸齒區(qū)域進(jìn)行有效填充,研究表明區(qū)域填充方法的輸出圖像中存在目標(biāo)物邊緣外擴(kuò)問(wèn)題,本文提出了有效的形態(tài)學(xué)腐蝕算法,對(duì)填充算法帶來(lái)的邊界外擴(kuò)問(wèn)題進(jìn)行研究處理.通過(guò)算法仿真與結(jié)果分析,本文算法能有效將填充圖像的邊界進(jìn)行合理收縮,保持與原放大圖像最接近的目標(biāo)像素面積占比,并保持圖像結(jié)構(gòu)不變.