卿東升 李建軍 鄧巧玲
摘要:為了保證印刷體數(shù)字識(shí)別的準(zhǔn)確性和良好的擴(kuò)展性,提出了一種基于二進(jìn)制的印刷體數(shù)字識(shí)別算法,旨在為每一個(gè)被識(shí)別的印刷體數(shù)字分配一組特定的二進(jìn)制,從而保證其識(shí)別的準(zhǔn)確性和可擴(kuò)展性。通過Matlab編程仿真可知,識(shí)別的準(zhǔn)確率非常高,證明了其識(shí)別的可行性。
關(guān)鍵詞:數(shù)字識(shí)別;二進(jìn)制;特征值;數(shù)字分割
中圖分類號(hào):TP391.4文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2018)05-62-3
Printed Digital Recognition Algorithm Based on Binary
QING Dongsheng1, LI Jianjun1,DENG Qiaoling2(1.College of Computer Science and Information Technology, Central South University of Forestry and Technology, Changsha Hunan 410004, China;2. Hunan Applied Technology University, Changde Hunan 415000, China)
0引言
隨著互聯(lián)網(wǎng)的發(fā)展和科學(xué)技術(shù)的不斷進(jìn)步和成熟,大數(shù)據(jù)、物聯(lián)網(wǎng)及互聯(lián)網(wǎng)+等智能科學(xué)技術(shù)時(shí)代已經(jīng)到來,數(shù)字圖像識(shí)別技術(shù)的應(yīng)用也越來越廣泛[1-3]。在此之前,印刷體數(shù)字的識(shí)別有很多算法,但這些算法各有優(yōu)缺點(diǎn)[4-6]。本文提出一種基于二進(jìn)制特征的印刷體數(shù)字識(shí)別方法,利用數(shù)字本身的獨(dú)特結(jié)構(gòu),把其獨(dú)特的結(jié)構(gòu)轉(zhuǎn)化為二進(jìn)制數(shù)字0和1,并用一組二進(jìn)制數(shù)字來表示一個(gè)數(shù)字,作為該數(shù)字的識(shí)別編碼。該算法容易理解、識(shí)別率高、擴(kuò)展性好及易于后期的維護(hù)和升級(jí)。
1數(shù)字分割技術(shù)
1.1提取掃描圖像
在印刷體數(shù)字識(shí)別過程中,掃描到的數(shù)字必然會(huì)是一連串的數(shù)字,因此,在識(shí)別單個(gè)數(shù)字之前,必須先對(duì)這一連串?dāng)?shù)字進(jìn)行分割,以便把單個(gè)數(shù)字圖像分割出來進(jìn)行識(shí)別。
1.2分割方法
文中的數(shù)字分割方法是根據(jù)數(shù)字圖像的特征,尋找數(shù)字圖像中每個(gè)數(shù)字的左右邊界來分割每個(gè)數(shù)字的圖像,具體步驟如下:
①讀取掃描圖像并轉(zhuǎn)化成二值圖像,獲取該二值圖像的尺寸。由數(shù)字圖像的特征可知,數(shù)字圖像中的每一個(gè)數(shù)字都有邊界,因此只要把數(shù)字圖像中的每一個(gè)數(shù)字的左右邊界找到,就可以把每一個(gè)數(shù)字分離出來。
②從左至右掃描二值圖像,并且用一個(gè)游標(biāo)p1來記錄數(shù)字圖像中掃描的變化情況,如果該游標(biāo)遇到數(shù)值為0(p1=0),即該處有黑點(diǎn),表示在該處找到第一個(gè)數(shù)字的左邊界并標(biāo)記col11;繼續(xù)向右掃描來尋找數(shù)字的右邊界,如果在掃描過程中游標(biāo)p1=1,即該處為白點(diǎn)。此時(shí),以該點(diǎn)作為數(shù)字圖像的基點(diǎn),從上到下掃描該數(shù)字對(duì)應(yīng)的所有行,用p2記錄該列數(shù)字圖像變化的情況,如果從上到下掃描該列對(duì)應(yīng)的行都沒有找到黑點(diǎn)及p2=1,則表示在該處找到第一個(gè)數(shù)字的右邊界并標(biāo)記col12,記錄該數(shù)字圖像為number1。否則,表示該白點(diǎn)只是數(shù)字中間的某個(gè)白點(diǎn),并不是該數(shù)字的右邊界點(diǎn)。此時(shí)繼續(xù)向右掃描,直到找到某一列對(duì)應(yīng)的行全部為白點(diǎn)及p2=1為止,這樣就分割出了數(shù)字圖像中的第一個(gè)數(shù)字。
③以前一個(gè)數(shù)字的右邊界為掃描起點(diǎn),重復(fù)步驟②,以此類推,直到把所有的數(shù)字圖像都分割出來為止,分割示意圖如圖1所示。
2數(shù)字二進(jìn)制特征值提取
通過分割數(shù)字圖像技術(shù)得到單個(gè)數(shù)字圖像后,提取單個(gè)數(shù)字圖像二進(jìn)制特征值。根據(jù)數(shù)字特征識(shí)別需要,文中提取的數(shù)字特征值的個(gè)數(shù)為7。
(1)數(shù)字的高度與寬度之比。根據(jù)數(shù)字特征可以發(fā)現(xiàn),在0~9這幾個(gè)數(shù)字中,每一個(gè)數(shù)字的高度和寬度之比都是不同的,仔細(xì)觀察可以發(fā)現(xiàn),數(shù)字1的寬度最窄,因此,通過數(shù)字的高度和寬度之比會(huì)得出數(shù)字1的比值最大,如圖2所示。
此時(shí),印刷體數(shù)字1234567890提取到的二進(jìn)制特征值為0111111111。
(2)選取數(shù)字坐標(biāo)(1/3,1/2)處,向右掃描該組數(shù)字,看是否會(huì)碰到黑點(diǎn),如果碰到,則輸出1;否則,輸出0,如圖3所示。
此時(shí),1234567890提取到的二進(jìn)制特征值為1111001111。
(3)選取數(shù)字坐標(biāo)(1/3,1/2)處,向左掃描該組數(shù)字圖像,看是否會(huì)碰到黑點(diǎn),如果碰到,則輸出1;否則,輸出0,如圖4所示。
此時(shí),1234567890提取到的二進(jìn)制特征值為1101010111。
(4)選取數(shù)字坐標(biāo)(1/2,1/2)處,掃描該組數(shù)字圖像,看其是否為黑點(diǎn),如果是黑點(diǎn),則輸出1;否則,輸出0,如圖5所示。
此時(shí),1234567890提取到的二進(jìn)制特征值為1010000100。
(5)選取數(shù)字坐標(biāo)(2/3,1/2)處,掃描該組數(shù)字圖像,看其是否為黑點(diǎn),如果是黑點(diǎn),則輸出0;否則,輸出1,如圖6所示。
此時(shí),1234567890提取到的二進(jìn)制特征值為0011110111。
(6)判斷該組數(shù)字圖像左邊界的橫坐標(biāo)和右邊界的橫坐標(biāo)是否相等。如果相等,則輸出1;否則輸出0。選擇其作為特征值是因?yàn)閿?shù)字0的特殊性,如圖7所示。
此時(shí),1234567890提取到的二進(jìn)制特征值為0000000001。
(7)掃描該組數(shù)字坐標(biāo)(3/7, 1/5)處,看其是否為黑點(diǎn)。如果是黑點(diǎn),則輸出0;否則,輸出1。該組特征值主要是為了區(qū)別數(shù)字4和9,如圖8所示。
此時(shí),1234567890提取到的二進(jìn)制特征值為1111101100。
4數(shù)字識(shí)別
4.1數(shù)字二進(jìn)制特征值
根據(jù)上文中提取到的數(shù)字二進(jìn)制特征值,就可以對(duì)0~9中的每一個(gè)數(shù)字進(jìn)行識(shí)別,每一個(gè)數(shù)字特有的一組二進(jìn)制特征值如表1所示。
4.2識(shí)別過程
根據(jù)每個(gè)數(shù)字提取到的二進(jìn)制特征值,識(shí)別步驟如下:①先把所有數(shù)字的二進(jìn)制特征值存入一個(gè)數(shù)組中;②從數(shù)組中取出一組二進(jìn)制進(jìn)行比較,如果該二進(jìn)制數(shù)字為0111001,則輸出識(shí)別數(shù)字1;否則,比對(duì)二進(jìn)制數(shù)字1110001,如果匹配,則輸出識(shí)別數(shù)字2;否則,比對(duì)二進(jìn)制數(shù)字11001101。以此類推,直到所有數(shù)字都識(shí)別完成為止。
5結(jié)束語
通過Matlab編程實(shí)驗(yàn)可知,該算法的準(zhǔn)確率非常高,基本上每一個(gè)數(shù)字圖像中的數(shù)字都可以很清楚地識(shí)別出來,因?yàn)槊恳粋€(gè)數(shù)字都有特定的二進(jìn)制數(shù)字與其對(duì)應(yīng)。理論上來說,該算法的識(shí)別率可以達(dá)到100%,且容易理解,可擴(kuò)展性強(qiáng)。但是該算法的執(zhí)行效率不高,所耗費(fèi)的運(yùn)算量比較大,理想的情況,識(shí)別10個(gè)數(shù)字只需要4位二進(jìn)制數(shù)字足夠,文中算法用了7位二進(jìn)制,造成的原因主要是因?yàn)檫x取的識(shí)別點(diǎn)和算法優(yōu)化度不夠,可以通過多做實(shí)驗(yàn),選取最優(yōu)識(shí)別算法,把識(shí)別數(shù)字的二進(jìn)制數(shù)減少到4位。
參考文獻(xiàn)
[1] Rivera A R,Chae O.Spatiotemporal Directional Number Transitional Graph for Dynamic Texture Recognition[J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015,37(10):2146-2152.
[2] Aghayan R,Ellis T,Dehmeshki J.Planar Numerical Signature Theory Applied to Object Recognition[J].Journal of Mathematical Imaging and Vision,2014,48(3):583-605.
[3] Dinh D L,Lee S Y,Kim T S.Hand Number Gesture Recognition Using Recognized Hand Parts in Depth Images[J].Multimedia Tools and Applications,2016,75(2):1333-1348.
[4]嚴(yán)國莉,黃山,等.印刷體數(shù)字快速識(shí)別算法在身份證編號(hào)數(shù)字識(shí)別中的應(yīng)用[J].計(jì)算機(jī)工程,2003,29(1):179.
[5]倪桂博,梁曉尊.基于結(jié)構(gòu)形狀的印刷體數(shù)字識(shí)別方法[J].軟件導(dǎo)刊,2010,9(5):67-68.
[6]張董,游福成,王惠華,等.受限制Boltzmann機(jī)深度置信網(wǎng)絡(luò)與手寫數(shù)字識(shí)別[J].北京印刷學(xué)院學(xué)報(bào),2016,24(4):56-58.