劉南鋒
摘要:針對Zhang-Suen細(xì)化算法細(xì)化漢字時(shí)存在交叉點(diǎn)易出現(xiàn)斷裂、漢字骨架有毛刺和無法保證單一像素的問題,提出一種基于改進(jìn)區(qū)域生長法的漢字骨架提取算法。首先,該算法對二值圖像漢字按筆畫進(jìn)行分解;然后對分解后的每個(gè)漢字筆畫基于改進(jìn)區(qū)域生長算法采用設(shè)計(jì)的區(qū)域生長規(guī)則對筆畫進(jìn)行細(xì)化,并基于筆畫寬度與細(xì)化后筆畫寬度比例關(guān)系確定細(xì)化筆畫位置;最后對細(xì)化后筆畫按照筆畫順序合并得到細(xì)化后的文字骨架,消除Zhang-Suen算法弊端并提高細(xì)化后文字骨骼線的質(zhì)量。
關(guān)鍵詞:Zhang-Suen細(xì)化;區(qū)域生長法;漢字筆畫;細(xì)化;漢字骨架
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A
0引言
隨著計(jì)算機(jī)視覺領(lǐng)域的不斷發(fā)展,運(yùn)動(dòng)目標(biāo)檢測、人臉識(shí)別、指紋識(shí)別以及字符處理等領(lǐng)域得到廣泛應(yīng)用,而目標(biāo)特征的提取將是計(jì)算機(jī)視覺處理的關(guān)鍵步驟[1]。在字符處理領(lǐng)域,對漢字進(jìn)行細(xì)化得到漢字骨架將是目標(biāo)特征提取的重要手段,漢字細(xì)化一般是指在保證原漢字拓?fù)浣Y(jié)構(gòu)的情況下,刪除漢字周邊像素直至得到位于中心線的單像素漢字骨架,但漢字骨架的提取受細(xì)化算法規(guī)則的制約,易出現(xiàn)筆畫斷裂、像素冗余和漢字骨架存在毛刺等問題,影響漢字細(xì)化結(jié)果質(zhì)量。因此,在保證漢字原始拓?fù)浣Y(jié)構(gòu)不變的情況下,對漢字進(jìn)行細(xì)化來提取定位更精確的漢字骨架將成為字符處理領(lǐng)域研究的熱點(diǎn)問題[2]。
為適應(yīng)技術(shù)發(fā)展的需求,國內(nèi)外學(xué)者提出很多經(jīng)典細(xì)化算法,包括:Hilditch細(xì)化算法[3]、Pavlidis細(xì)化算法、Zhang并行細(xì)化算法、Zhang-Suen細(xì)化算法等。
1 算法分析
1.1區(qū)域生長算法
區(qū)域生長算法是區(qū)域分割領(lǐng)域經(jīng)典算法,該算法對每個(gè)區(qū)域指定種子作為當(dāng)前區(qū)域的生長點(diǎn),然后將種子點(diǎn)和周圍的像素點(diǎn)根據(jù)生長規(guī)則對比分析,并將符合條件的點(diǎn)放在一個(gè)集合繼續(xù)生長,直至沒有滿足生長規(guī)則的像素點(diǎn),該算法可將具有不同特征的連通區(qū)域進(jìn)行分割,并得到較精確的邊界信息和分割結(jié)果。其算法步驟為:
(1)首先算法需創(chuàng)建一個(gè)空白圖像,并指定一個(gè)種子點(diǎn)進(jìn)行生長,該種子點(diǎn)放入棧中。
(2)將當(dāng)前種子點(diǎn)和周圍像素點(diǎn)按照生長規(guī)則進(jìn)行對比分析,并將符合生長規(guī)則的點(diǎn)壓棧,并在下次將該點(diǎn)作為種子點(diǎn)按照生長規(guī)則繼續(xù)生長。
(3)重復(fù)上述步驟,直到當(dāng)棧中不存在種子點(diǎn)后停止生長,完成生長過程。
不難看出該算法是一種迭代算法,具有很好的分割效果,本文將引用區(qū)域生長算法并對區(qū)域生長算法進(jìn)行改進(jìn),用于對漢字進(jìn)行細(xì)化提取漢字骨架。
2 基于改進(jìn)區(qū)域生長算法的漢字骨架提取
針對區(qū)域生長算法在對圖像進(jìn)行處理時(shí)獲得精確的邊界信息和較好分割結(jié)果的優(yōu)良特性,本文將對區(qū)域生長算法進(jìn)行改進(jìn)來獲得質(zhì)量更佳的漢字骨架。其實(shí)現(xiàn)步驟如下:
(1)算法首先對漢字按照筆畫順序進(jìn)行分解,來獲得漢字的全部分解筆畫。針對每個(gè)筆畫,在筆畫任意位置選擇種子點(diǎn),并將種子點(diǎn)sp1壓入棧S中。
(2)根據(jù)設(shè)計(jì)的生長規(guī)則統(tǒng)計(jì)種子點(diǎn)周圍八鄰域像素點(diǎn)的個(gè)數(shù),并根據(jù)八鄰域像素點(diǎn)個(gè)數(shù)判定當(dāng)前點(diǎn)是否可壓入棧S中,具體生長規(guī)則如式(1):
式中,Num(sp1)表示當(dāng)前種子點(diǎn)sp1八鄰域像素點(diǎn)的個(gè)數(shù);(1,2)表示像素點(diǎn)個(gè)數(shù)為1或2;Grow表示當(dāng)前點(diǎn)為種子點(diǎn)并壓入棧S中,同時(shí)以該點(diǎn)為生長點(diǎn)繼續(xù)按生長規(guī)則生長;Del表示當(dāng)前點(diǎn)為非種子點(diǎn),刪除該像素點(diǎn)。
(3)重復(fù)步驟(2)直到漢字所有筆畫都經(jīng)過細(xì)化,得到所有筆畫的細(xì)化骨架。根據(jù)筆畫寬度和細(xì)化筆畫寬度比例關(guān)系[8],將得到細(xì)化筆畫相對于原筆畫的位置,即細(xì)化筆畫置于原筆畫的中心線位置。
(4)對筆畫按照漢字分解的順序進(jìn)行合并,最終得到細(xì)化后的漢字骨架,完成漢字的細(xì)化。
3實(shí)驗(yàn)結(jié)果分析
3.1實(shí)驗(yàn)參數(shù)與評價(jià)指標(biāo)
為驗(yàn)證本文算法的有效性,在硬件配置為:Inter(R) Core(TM) i7-10510U,主頻為2.3GHz,內(nèi)存為16GB;軟件配置為:Microsoft Visual Studio 2010和OPENCV2.4.10的實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)驗(yàn)仿真。
3.2 實(shí)驗(yàn)結(jié)果分析
本文基于改進(jìn)區(qū)域生長法的漢字細(xì)化算法相較于Hilditch細(xì)化算法和Pavlidis細(xì)化算法,可保證細(xì)化后的文字骨架相對于原文字圖像拓?fù)浣Y(jié)構(gòu)不變,即保證漢字的原有特征不變,并很好的保持漢字T行交叉和拐點(diǎn)的連通性,克服畸變產(chǎn)生的影響。本文算法相較于Zhang并行細(xì)化算法和Zhang-Suen細(xì)化算法,可消除對漢字細(xì)化后出現(xiàn)冗余像素或像素骨架像素不單一的問題,同時(shí)本文算法可很好提取骨架的中心線結(jié)構(gòu),規(guī)避骨架毛刺的風(fēng)險(xiǎn)。綜上,本文基于改進(jìn)區(qū)域生長算法的漢字骨架提取算法在保證漢字原有拓?fù)浣Y(jié)構(gòu)的基礎(chǔ)上可更精確的提取漢字的骨架,提高細(xì)化后漢字骨架的質(zhì)量。
4 結(jié)論
本文提出一種基于改進(jìn)區(qū)域生長法的漢字骨架提取算法。該算法首先對漢字按筆畫順序進(jìn)行分解,得到該漢字的所有筆畫集合;然后,基于區(qū)域生長法的思想對每個(gè)筆畫選定種子點(diǎn)并按照設(shè)計(jì)的生長規(guī)則確定種子點(diǎn)繼續(xù)生長,并對刪除不滿足生長規(guī)則的像素點(diǎn);最后,基于筆畫寬度和細(xì)化筆畫寬度比例關(guān)系,確定細(xì)化筆畫的中心線位置,并將所有筆畫按筆畫順序合并得到最終細(xì)化后文字骨架。本文算法可很好克服現(xiàn)有細(xì)化算法的不足,并獲得定位精度更高、質(zhì)量更佳的漢字骨架。
參考文獻(xiàn):
[1]耿藝寧,劉帥師,劉泰廷,嚴(yán)文陽,廉宇峰.基于計(jì)算機(jī)視覺的行人檢測技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用,2021,41(S1):43-50.
[2]董軍,蔣同海,艾孜麥提·艾尼瓦爾,程力,徐春.一種改進(jìn)的哈薩克文編碼字符處理方法[J].中文信息學(xué)報(bào),2017,31(04):94-99.
[3]韓東旭,鐘寶江.基于梯度掩模濾波的邊緣細(xì)化算法[J].激光與光電子學(xué)進(jìn)展,2020,57(18):182-188.