卿東升 李建軍 鄧巧玲
摘要:為了保證印刷體數(shù)字識別的準(zhǔn)確性和良好的擴(kuò)展性,提出了一種基于二進(jìn)制的印刷體數(shù)字識別算法,旨在為每一個被識別的印刷體數(shù)字分配一組特定的二進(jìn)制,從而保證其識別的準(zhǔn)確性和可擴(kuò)展性。通過Matlab編程仿真可知,識別的準(zhǔn)確率非常高,證明了其識別的可行性。
關(guān)鍵詞:數(shù)字識別;二進(jìn)制;特征值;數(shù)字分割
中圖分類號:TP391.4文獻(xiàn)標(biāo)志碼:A文章編號: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ù)時代已經(jīng)到來,數(shù)字圖像識別技術(shù)的應(yīng)用也越來越廣泛[1-3]。在此之前,印刷體數(shù)字的識別有很多算法,但這些算法各有優(yōu)缺點(diǎn)[4-6]。本文提出一種基于二進(jìn)制特征的印刷體數(shù)字識別方法,利用數(shù)字本身的獨(dú)特結(jié)構(gòu),把其獨(dú)特的結(jié)構(gòu)轉(zhuǎn)化為二進(jìn)制數(shù)字0和1,并用一組二進(jìn)制數(shù)字來表示一個數(shù)字,作為該數(shù)字的識別編碼。該算法容易理解、識別率高、擴(kuò)展性好及易于后期的維護(hù)和升級。
1數(shù)字分割技術(shù)
1.1提取掃描圖像
在印刷體數(shù)字識別過程中,掃描到的數(shù)字必然會是一連串的數(shù)字,因此,在識別單個數(shù)字之前,必須先對這一連串?dāng)?shù)字進(jìn)行分割,以便把單個數(shù)字圖像分割出來進(jìn)行識別。
1.2分割方法
文中的數(shù)字分割方法是根據(jù)數(shù)字圖像的特征,尋找數(shù)字圖像中每個數(shù)字的左右邊界來分割每個數(shù)字的圖像,具體步驟如下:
①讀取掃描圖像并轉(zhuǎn)化成二值圖像,獲取該二值圖像的尺寸。由數(shù)字圖像的特征可知,數(shù)字圖像中的每一個數(shù)字都有邊界,因此只要把數(shù)字圖像中的每一個數(shù)字的左右邊界找到,就可以把每一個數(shù)字分離出來。
②從左至右掃描二值圖像,并且用一個游標(biāo)p1來記錄數(shù)字圖像中掃描的變化情況,如果該游標(biāo)遇到數(shù)值為0(p1=0),即該處有黑點(diǎn),表示在該處找到第一個數(shù)字的左邊界并標(biāo)記col11;繼續(xù)向右掃描來尋找數(shù)字的右邊界,如果在掃描過程中游標(biāo)p1=1,即該處為白點(diǎn)。此時,以該點(diǎn)作為數(shù)字圖像的基點(diǎn),從上到下掃描該數(shù)字對應(yīng)的所有行,用p2記錄該列數(shù)字圖像變化的情況,如果從上到下掃描該列對應(yīng)的行都沒有找到黑點(diǎn)及p2=1,則表示在該處找到第一個數(shù)字的右邊界并標(biāo)記col12,記錄該數(shù)字圖像為number1。否則,表示該白點(diǎn)只是數(shù)字中間的某個白點(diǎn),并不是該數(shù)字的右邊界點(diǎn)。此時繼續(xù)向右掃描,直到找到某一列對應(yīng)的行全部為白點(diǎn)及p2=1為止,這樣就分割出了數(shù)字圖像中的第一個數(shù)字。
③以前一個數(shù)字的右邊界為掃描起點(diǎn),重復(fù)步驟②,以此類推,直到把所有的數(shù)字圖像都分割出來為止,分割示意圖如圖1所示。
2數(shù)字二進(jìn)制特征值提取
通過分割數(shù)字圖像技術(shù)得到單個數(shù)字圖像后,提取單個數(shù)字圖像二進(jìn)制特征值。根據(jù)數(shù)字特征識別需要,文中提取的數(shù)字特征值的個數(shù)為7。
(1)數(shù)字的高度與寬度之比。根據(jù)數(shù)字特征可以發(fā)現(xiàn),在0~9這幾個數(shù)字中,每一個數(shù)字的高度和寬度之比都是不同的,仔細(xì)觀察可以發(fā)現(xiàn),數(shù)字1的寬度最窄,因此,通過數(shù)字的高度和寬度之比會得出數(shù)字1的比值最大,如圖2所示。
此時,印刷體數(shù)字1234567890提取到的二進(jìn)制特征值為0111111111。
(2)選取數(shù)字坐標(biāo)(1/3,1/2)處,向右掃描該組數(shù)字,看是否會碰到黑點(diǎn),如果碰到,則輸出1;否則,輸出0,如圖3所示。
此時,1234567890提取到的二進(jìn)制特征值為1111001111。
(3)選取數(shù)字坐標(biāo)(1/3,1/2)處,向左掃描該組數(shù)字圖像,看是否會碰到黑點(diǎn),如果碰到,則輸出1;否則,輸出0,如圖4所示。
此時,1234567890提取到的二進(jìn)制特征值為1101010111。
(4)選取數(shù)字坐標(biāo)(1/2,1/2)處,掃描該組數(shù)字圖像,看其是否為黑點(diǎn),如果是黑點(diǎn),則輸出1;否則,輸出0,如圖5所示。
此時,1234567890提取到的二進(jìn)制特征值為1010000100。
(5)選取數(shù)字坐標(biāo)(2/3,1/2)處,掃描該組數(shù)字圖像,看其是否為黑點(diǎn),如果是黑點(diǎn),則輸出0;否則,輸出1,如圖6所示。
此時,1234567890提取到的二進(jìn)制特征值為0011110111。
(6)判斷該組數(shù)字圖像左邊界的橫坐標(biāo)和右邊界的橫坐標(biāo)是否相等。如果相等,則輸出1;否則輸出0。選擇其作為特征值是因為數(shù)字0的特殊性,如圖7所示。
此時,1234567890提取到的二進(jìn)制特征值為0000000001。
(7)掃描該組數(shù)字坐標(biāo)(3/7, 1/5)處,看其是否為黑點(diǎn)。如果是黑點(diǎn),則輸出0;否則,輸出1。該組特征值主要是為了區(qū)別數(shù)字4和9,如圖8所示。
此時,1234567890提取到的二進(jìn)制特征值為1111101100。
4數(shù)字識別
4.1數(shù)字二進(jìn)制特征值
根據(jù)上文中提取到的數(shù)字二進(jìn)制特征值,就可以對0~9中的每一個數(shù)字進(jìn)行識別,每一個數(shù)字特有的一組二進(jìn)制特征值如表1所示。
4.2識別過程
根據(jù)每個數(shù)字提取到的二進(jìn)制特征值,識別步驟如下:①先把所有數(shù)字的二進(jìn)制特征值存入一個數(shù)組中;②從數(shù)組中取出一組二進(jìn)制進(jìn)行比較,如果該二進(jìn)制數(shù)字為0111001,則輸出識別數(shù)字1;否則,比對二進(jìn)制數(shù)字1110001,如果匹配,則輸出識別數(shù)字2;否則,比對二進(jìn)制數(shù)字11001101。以此類推,直到所有數(shù)字都識別完成為止。
5結(jié)束語
通過Matlab編程實驗可知,該算法的準(zhǔn)確率非常高,基本上每一個數(shù)字圖像中的數(shù)字都可以很清楚地識別出來,因為每一個數(shù)字都有特定的二進(jìn)制數(shù)字與其對應(yīng)。理論上來說,該算法的識別率可以達(dá)到100%,且容易理解,可擴(kuò)展性強(qiáng)。但是該算法的執(zhí)行效率不高,所耗費(fèi)的運(yùn)算量比較大,理想的情況,識別10個數(shù)字只需要4位二進(jìn)制數(shù)字足夠,文中算法用了7位二進(jìn)制,造成的原因主要是因為選取的識別點(diǎn)和算法優(yōu)化度不夠,可以通過多做實驗,選取最優(yōu)識別算法,把識別數(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ù)字識別中的應(yīng)用[J].計算機(jī)工程,2003,29(1):179.
[5]倪桂博,梁曉尊.基于結(jié)構(gòu)形狀的印刷體數(shù)字識別方法[J].軟件導(dǎo)刊,2010,9(5):67-68.
[6]張董,游福成,王惠華,等.受限制Boltzmann機(jī)深度置信網(wǎng)絡(luò)與手寫數(shù)字識別[J].北京印刷學(xué)院學(xué)報,2016,24(4):56-58.