張華萍 黃辰
摘 要:文字識別技術(shù)是利用計算機對紙上文字進行自動識別并處理成可識別信息的技術(shù)。該技術(shù)由于使用范圍廣而越來越重要。在近代科學研究、軍事技術(shù)、工農(nóng)業(yè)生產(chǎn)、醫(yī)學、氣象及天文學等諸多領(lǐng)域中,文字識別技術(shù)解決了許多實際問題。文中通過Matlab軟件闡述文字識別技術(shù)理論及對文字的處理過程,并利用該軟件對文字圖像進行濾波、增強、檢測和定位,把文字圖像中的有用信息和背景噪聲區(qū)分開。
關(guān)鍵字:文字識別;Matlab 字符集;濾波;背景噪聲區(qū)
中圖分類號:TP39 文獻標識碼:A 文章編號:2095-1302(2018)08-00-03
0 引 言
人們在生活工作中需要處理大量的文字信息,勞動強度較大,而通過探索文字識別方法可以提高工作效率,降低勞動強度,因此文字識別技術(shù)得到了快速發(fā)展。
文字信息采集、信息分析與處理、信息分類判別是文字識別技術(shù)的主要步驟。信息采集是將紙中的文字信息轉(zhuǎn)換成電流信號,并自動輸入到計算機。信息分析與處理是對電信號進行消噪及偏轉(zhuǎn)、粗細、大小等潤色處理。信息分類判別是對處理后的文字信息進行分類判別,輸出識別結(jié)果。
本文通過Matlab軟件編寫Matlab語言,對文字進行識別及處理,闡述文字識別的原理,并應用于文獻資料的檢索、信件和包裹的分揀、商品編碼的識別、商品倉庫的管理等方面。
1 文字識別系統(tǒng)的原理及組成
文字圖像的辨識原理如圖1所示。其各部分功能如下:
(1)光電轉(zhuǎn)換檢測部分最重要的功能是對紙張上的文本內(nèi)容執(zhí)行光電轉(zhuǎn)換過程,通過模數(shù)轉(zhuǎn)換獲得具有一定灰度的數(shù)字信號,并提供給后續(xù)部分進行辨識,掃描儀、CCD攝像頭等是常用的檢測設(shè)備;
(2)文本分割則是通過對圖像中的文本區(qū)域進行定位,分離真實文本,從而進行識別;
(3)識別處理部分是對分離的文本圖像信息進行甄別,去除信號中的黑點、空白等無效部分,再對文本圖像信息進行增強,并根據(jù)一定的標準忽略掉一些不必要的信號,獲得相同大小、位置及筆畫的信號,從而降低判斷的復雜性;
(4)特征提取部分是將識別出的信號的特有部分進行提取,為后續(xù)識別提供模版;
(5)學習部分則是通過提取出的信號特征優(yōu)化模板庫的內(nèi)容,并存儲到指定位置。
2 文字識別及Matlab實現(xiàn)
文字識別及Matlab實現(xiàn)過程如下:
(1)為得到原始圖像,在Matlab中調(diào)用i1=imread(‘字符.jpg),如圖2所示。
(2)為得到灰度圖像,在Matlab中調(diào)用i2=rgb2gray(i1),如圖3所示。
調(diào)用a=size(i1),b=size(i2)可得:a=3,b=2 ,即三維圖像變成了二維灰度圖像。
(3)調(diào)用i3=(i2>=thresh)得到二值圖像。其中thresh為門
限,在[0,255]之間取值:
i2_max=double(max(max(i2)));//獲取亮度最大值
i2_min=double(min(min(i2)));//獲取亮度最小值
thresh=round(i2_max-((i2_max-i2_min)/3));
得到的二值圖像如圖4所示。
(4)在放大的二值圖像中存在離散的黑點,對圖像分別進行橫向、縱向腐蝕膨脹處理,處理后的圖像如圖5所示。
由圖5可知,腐蝕膨脹處理后的圖像在質(zhì)量上有了很大程度的提高,且分別進行橫向、縱向的腐蝕膨脹運算效果明顯優(yōu)于橫向、縱向同時進行腐蝕膨脹運算得到的圖像。橫向、縱向同時進行腐蝕膨脹運算得到的圖像如圖6所示。
(5)對運算后的圖像進行Y方向上的區(qū)域選定,并從中間向兩邊掃描,形成的圖像如圖7所示。
將原圖像與縱向掃描后的圖像進行對比,結(jié)果如圖8所示。
(6)對圖像進行X方向的區(qū)域選定,并從中間向兩邊掃描形成的圖像如圖9所示。
將原圖像與經(jīng)橫向掃描后的圖像進行對比,結(jié)果如圖10所示。
(7)為使背景為黑色(0),字符為白色(1),調(diào)用i8=(iX·iY~=1),以便后期處理。
處理后的圖像如圖11所示。
(8)調(diào)用i9=getchar(i8),所得圖像如圖12所示。
(9)調(diào)用自定義字符獲取函數(shù)來剪切圖像,并將剪切字符加載到一維數(shù)組中,剪切過程如圖13所示。
(10)調(diào)用以下代碼將數(shù)組中的字符顯示出來,顯示結(jié)果如圖14所示。由圖14可以看到,字符寬度不一致。
for j=1∶cnum //cnum為統(tǒng)計的字符個數(shù)
subplot(5,8,j),imshow(word{j}),title(int2str(j));
//顯示字符
end
(11)調(diào)用下面的代碼,使字符規(guī)格化,易于識別,得到規(guī)格化后的字符如圖15所示。
for j=1∶cnum
word{j}=imresize(word{j},[40 40]);
//字符規(guī)格化為40×40大小
end
(12)為創(chuàng)建字符集調(diào)用以下代碼:
code=char(‘由于作者水平有限,書中難免存在缺點和疏漏之處,懇請讀者批評指正。),在文件夾中保存創(chuàng)建的字符集,以供后續(xù)匹配時調(diào)用,如圖16所示。
(13)字符匹配采用模板匹配算法,將與現(xiàn)有字符相減誤差最小的模版字符作為匹配字符。
假設(shè):字符,模板字符,模板字符
字符A與模版字符T1相減的誤差為8,與T2相減的誤差為2,因此可以認定T2即為字符A。
通過模板匹配獲得字符信息,字符效果如圖17所示。
(14)調(diào)用以下代碼,將字符放入newtxt.txt文本,newtxt.txt文本內(nèi)容如圖18所示。
new=['newtxt','.txt'];
c=fopen(new,'a+');
fprintf(c,'%s\n',Code(1:cnum));
fclose(c);
3 結(jié) 語
文本是人類獲取信息和交流信息的主要途徑,人們生活和工作的方方面面都涉及文字識別技術(shù)。隨著科學技術(shù)的發(fā)展,文字識別技術(shù)將被廣泛應用于航空航天、工業(yè)生產(chǎn)、資源環(huán)境、醫(yī)療診斷、天氣和交通監(jiān)控、教育等領(lǐng)域。更加深入、完善的發(fā)展,更加優(yōu)越的處理算法,更加快捷的處理速度,智能化識別以及代加工和文字理解必將成為未來的發(fā)展趨勢。
參考文獻
[1]陳梓洋,王宇飛,錢侃,等. 自然場景下基于區(qū)域檢測的文字識別算法[J].計算機技術(shù)與發(fā)展,2015,25(7):230-233.
[2]張源,李燦平.基于彈性網(wǎng)格特征和神經(jīng)網(wǎng)絡(luò)的手寫文字識別[J].信息技術(shù),2011(12):38-41.
[3]商明慧.漢王OCR文字識別軟件使用技巧[J].廣東印刷,2018(1):38-39.
[4]弓耀輝.圖像文字識別中的預處理技術(shù)研究綜述[J].信息通信,2017(9):291-292.
[5]陳義文,范平.批量圖片的文字識別系統(tǒng)設(shè)計與實現(xiàn)[J].湖北科技學院學報,2016,36(A1):141-143.
[6]江波,史鳳波.文字識別領(lǐng)域中模式識別技術(shù)的應用[J].科技資
訊,2015,13(27):6-7.
[7]王立群,郭樹強,郭曉麗.基于仿射變換的文字識別方法[J].黑龍江科技信息,2014(27):118.
[8]馮琬婷.基于文字識別視角分析人工智能機器學習中的文字識別方法[J].電子技術(shù)與軟件工程,2017(13):253.