張盼盼 張穎穎
摘要:討論了模式識別的基本問題之一——圖像的細化處理,將模板匹配法和八鄰域分析法應用于數(shù)字識別的細化預處理中。著重比較了兩種算法在數(shù)字識別中的細化結(jié)果,指出兩種算法在數(shù)字識別細化預處理中存在的缺點,認為八鄰域分析法適用于數(shù)字識別的預處理。對八鄰域分析法作進一步改進,消除細化后冗余的像素點,保證了細化結(jié)果為單像素連接,確保數(shù)字識別的骨架提取預處理,從而提高數(shù)字識別速度及準確率。
關(guān)鍵詞:數(shù)字識別;細化算法;模板匹配法;八鄰域分析法
DOIDOI:10.11907/rjdk.161008
中圖分類號:TP317.4
文獻標識碼:A 文章編號:1672-7800(2016)005-0210-02
0 引言
數(shù)字識別在車牌號識別、電表讀數(shù)識別、票據(jù)識別等應用中運用廣泛,隨著計算機技術(shù)的高速發(fā)展,已有眾多學者投入到數(shù)字識別的研究中。細化算法是數(shù)字識別預處理中的重要環(huán)節(jié)之一。在進行數(shù)字識別之前,為了提取和描述數(shù)字特征,往往要先對字符作細化處理,得到數(shù)字的細化結(jié)構(gòu)。提取出的“骨架”能很好地突出字符形狀的特點,減少冗余信息量,從而減小識別的運算量,提高數(shù)字識別的準確率。一個好的細化算法是以細化的質(zhì)量和速度進行評價的,細化后的骨架應滿足以下條件:①骨架的連通性必須與原圖像保持一致;②骨架要保持原圖像的拓撲結(jié)構(gòu);③骨架的線條寬度應盡量為單像素;④骨架在原圖像幾何上處于合適位置,如在中間。
細化算法無論是在圖像分析還是圖像識別方面都可起到重要作用,近年來許多學者相繼提出了各種細化算法,如距離變換法[1,2]和邊緣剝離法[3]。距離變換算法可以一次性產(chǎn)生骨架,但是很難保證得到骨架的連通性。因此,現(xiàn)實應用中大多采用邊緣剝離法。邊緣剝離法是重復地刪除邊緣上的點,直到得到由單層點構(gòu)成的圖像。邊緣剝離算法又可以分為并行和串行兩種。在串行算法中,是否刪除像素在每次迭代的執(zhí)行中是順序固定的,它不僅取決于前次迭代的結(jié)果,也取決于本次迭代中已處理像素的分布情況,而在并行算法中,像素的刪除與否與像素在圖像的橫縱順序無關(guān),僅取決于前次迭代的結(jié)果。
本文比較了并行邊緣剝離法中經(jīng)典的模板匹配法[4]和八鄰域分析法[5],將兩種算法應用于數(shù)字識別的細化處理中。通過對實驗結(jié)果的分析,指出兩種算法在數(shù)字識別細化處理中存在的缺點,并對八鄰域分析法作進一步改進,以用于數(shù)字識別的細化。
1 模板匹配法在細化預處理中的應用
將模板匹配法應用于數(shù)字識別的細化預處理中,對包含數(shù)字的圖片進行一系列預處理操作:分割—去噪—二值化。經(jīng)過預處理,待細化的圖像是0,1二值圖像。像素值為1的是需要細化的部分,像素值為0的是背景區(qū)域。模板匹配法給出刪除條件對應的模板,只要檢測的像素點滿足被刪除的條件,則被刪除,刪除的條件在模板中給出[6]。
現(xiàn)有一幅要處理的數(shù)字字符0的二值圖像,按照以上算法對該二值圖像進行一次循環(huán),得到的圖像如圖1(a)所示。由圖可知,該細化出現(xiàn)了斷裂現(xiàn)象,原因在于原二值圖像中存在雙邊緣目標像素,對于雙邊緣中每一列目標像素,其U=5,按照該算法,雙邊緣的每一列都可以被刪除,最終導致細化后的圖像出現(xiàn)斷裂現(xiàn)象。而對于沒有雙邊緣的二值化圖像,采用該算法后細化結(jié)果良好,未出現(xiàn)斷裂現(xiàn)象,如圖1(b)所示。
2 八鄰域分析法在細化預處理中的應用
將八鄰域分析法應用于數(shù)字識別的細化預處理中,如圖3(a)所示是一幅要處理的數(shù)字字符0的二值圖像,按照以上算法對其進行細化處理,得到圖3(b)所示的細化結(jié)果。
3 模板匹配法和八鄰域分析法在細化預處理中的比較
由圖1的細化結(jié)果可以看出,將模板匹配法應用于存在雙邊緣像素二值圖像的細化算法時,細化結(jié)果存在斷裂現(xiàn)象,且細化結(jié)果不是單像素連通,這對于要求得到單邊緣像素細化結(jié)果的數(shù)字識別,模板匹配法的細化預處理不符合條件。因此,很多學者對模板匹配法進行了改進,以消除雙邊緣造成的影響,但是改進后的算法使得整體復雜度增加,且效果不是很理想。
與模板匹配法相比,八鄰域分析法得到的細化結(jié)果良好,對于存在雙邊緣像素的原二值圖像,細化結(jié)果不存在斷裂現(xiàn)象,如圖3所示,且細化后的骨架連通性與原圖像保持一致,同時骨架在原圖像集合位置中間。
然而,八鄰域分析法在數(shù)字識別細化預處理中也存在一定缺點。將八鄰域分析法應用于復雜圖像的細化時,存在無法達到單像素連通細化結(jié)果的問題,這將降低后續(xù)數(shù)字識別的速度和效率。非單像素連通的細化結(jié)果如圖4所示。
4 改進的八鄰域分析法在細化預處理中的應用
采用八鄰域分析法對于復雜圖像無法達到單像素連通的細化結(jié)果,而對于數(shù)字識別,單像素的細化骨架能夠提高數(shù)字識別的速度和準確率,因此本文提出改進的八鄰域分析法來消除細化后多余的像素點。
4.1 直角連通情況
經(jīng)分析可知,由以上算法細化后多余的像素點都是屬于直角連通的情況。直角連通情況可歸納為以下兩個條件:①當前像素點符合4種直角連通情況之一;②V(i,j)=2。符合以上兩個條件則說明當前像素點是直角連通的情況,可將當前點刪除。
4.2 直線相交情況
經(jīng)分析可知,直線相交也是造成細化后圖像冗余的另一個原因,直線相交情況則可將當前像素點刪除。
將改進的八鄰域分析法應用于數(shù)字識別細化預處理中,得到的圖像骨架連通性與原圖像保持一致,且為單像素連通,同時骨架在原圖像集合位置中間,這為后續(xù)的數(shù)字識別提供了最為理想的細化預處理結(jié)果。
5 結(jié)語
將模板匹配法與八鄰域分析法應用于數(shù)字識別的細化預處理中,可以看出,模板匹配法對于數(shù)字的細化,當出現(xiàn)雙邊緣像素時則必須結(jié)束算法,否則會出現(xiàn)連通區(qū)域的斷裂現(xiàn)象,將算法改進會消耗更多時間且增加復雜度。而八鄰域分析法可以直接獲得良好的符合條件的細化結(jié)果,有利于后面的數(shù)字識別部分,但采用八鄰域分析法對復雜圖像進行細化時,得到的細化結(jié)果并非單像素連通。因此,對八鄰域分析法作出改進,將直角連通和直線相交情況造成的冗余點刪除,改進的八鄰域分析法可以得到數(shù)字字符的單像素連通細化骨架,從而提高后續(xù)數(shù)字識別的速度及準確率。
參考文獻:
[1]陳軍,楊存建.一種基于分區(qū)標記的快速細化方法[J].計算機應用與軟件,2008,25(3):12-14.
[2]任金昌,趙容椿.一種基于標記的并行細化算法[J].電子學報,2009,28(11):9-12.
[3]野媛.普通Sobel邊緣細化算法的改進[J].科技信息,2009(29):312-313.
[4]畢厚杰,于錫建.一種基于邊緣點特征的細化算法[J].數(shù)據(jù)采集與處理,1990,5(1):7-11.
[5]吳丹.一種快速準確的細化算法[J].計算機與現(xiàn)代化,2003,1(1):6-10.
[6]楊興煒,劉文予,白翔.一種有效的快速細化算法[J].小型微型計算機系統(tǒng),2006, 27(7):1343-1346.
[7]喻擎蒼,蘇斌.改進的符號圖像并行細化算法[J].計算機工程與設(shè)計,2009,30(3):723-725.
(責任編輯:黃 ?。?/p>