鄭新哲
【摘 要】論文采用MATLAB提供的圖像處理函數(shù),對特定字體的英文語句圖像進(jìn)行了字符識別的嘗試,實(shí)現(xiàn)了對英文字母、標(biāo)點(diǎn)符號以及阿拉伯?dāng)?shù)字的識別。在代碼調(diào)試過程中,解決了小字體識別及容易混淆的標(biāo)點(diǎn)符號識別的難點(diǎn)。盡管采用的識別算法簡單,同樣得到了較為滿意的結(jié)果。
【Abstract】 In this paper, the image processing function provided by MATLAB is used to recognize the characters of English sentence images with specific fonts. It realizes the recognition of English letters, punctuation symbols and Arabic numerals. In the process of code debugging, the difficulties of small font recognition and confusing punctuation mark recognition are solved. Although the recognition algorithm is simple, it still obtains satisfactory results.
【關(guān)鍵詞】圖像處理;英文字母識別;標(biāo)點(diǎn)符號識別
【Keywords】image processing; English letter recognition; punctuation recognition
【中圖分類號】TP391? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻(xiàn)標(biāo)志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文章編號】1673-1069(2019)01-0144-02
1 引言
近年來,各種智能識別技術(shù)得到迅速發(fā)展,包括指紋識別、手寫輸入、車輛牌照識別、人臉識別等技術(shù)已經(jīng)得到廣泛應(yīng)用。本文利用MATLAB提供的幾個(gè)圖像處理函數(shù),研究了印刷體英文字母的識別方法和過程,對智能識別技術(shù)進(jìn)行了初步嘗試,對于在研究過程中遇到的標(biāo)點(diǎn)符號及阿拉伯?dāng)?shù)字識別的誤判問題,進(jìn)行了原因分析與程序處理,最終得到滿意的結(jié)果。本文對初次接觸數(shù)字圖像處理技術(shù)的人員具有引導(dǎo)和示范作用,可以作為學(xué)習(xí)數(shù)字圖像處理課程的入門訓(xùn)練。
2 基本算法及原理
MATLAB 是 Matrix Laboratory (矩陣實(shí)驗(yàn)室)的縮寫,是 Math Works 公司開發(fā)的一種功能強(qiáng)、效率高、簡單易學(xué)的數(shù)學(xué)軟件。MATLAB 的圖像處理工具箱功能也十分強(qiáng)大,支持的圖像文件格式豐富,如 *.BMP、*.JPG、 *.JPEG、 *.GIF、 *.TIF、*.TIFF、 *.PNG、*.PCX、*.XWD、*.HDF、*.ICO、*.CUR等。MATLAB提供了20 多類的圖像處理函數(shù),幾乎涵蓋了圖像處理的所有技術(shù)方法,這些函數(shù)按其功能可分為:圖像顯示、 圖像文件 I/O、圖像算術(shù)運(yùn)算、幾何變換、圖像登記、像素值與統(tǒng)計(jì) 圖像分析、圖像增強(qiáng)、線性濾波、線性二元濾波設(shè)計(jì)、圖像去模糊、圖像變換、鄰域與塊處理、灰度與二值圖像的形態(tài)學(xué)運(yùn)算、基于邊緣的處理、色彩映射表操作、色彩空間變換、圖像類型與類型轉(zhuǎn)換等。
基于MATLAB的圖字符識別過程大體分成五個(gè)步驟:①建立字符樣本庫;②獲取含字符的圖像并對字符區(qū)域塊進(jìn)行定位和讀取;③對各個(gè)字符進(jìn)行切割提取;④所提取的圖像字符與樣本庫中的樣本進(jìn)行比對,確定識別的字符;⑤輸出識別的字符串。
上述識別過程所涉及的核心算法包括:①彩色圖像灰度化rgb2gray()、二值化im2bw();②根據(jù)需要對圖像進(jìn)行大小調(diào)整imresize();③根據(jù)垂直直方圖分割字符,并根據(jù)零的寬度識別單詞間隔;④建立字符模板數(shù)據(jù)庫;⑤用適當(dāng)算法進(jìn)行識別和字符輸出[1]。
3 字符識別的實(shí)現(xiàn)
3.1 準(zhǔn)備工作
①選擇測試的特定字體,本文采用宋體對應(yīng)的英文字母;②準(zhǔn)備包含該字體的英文語句的圖像文件,這里用“.jpg”格式的文件進(jìn)行測試;③準(zhǔn)備該字體大小寫英文字母及標(biāo)點(diǎn)符號模板,每個(gè)字符用一個(gè)文件,采用二值化的“.bmp”格式。
3.2 識別過程
①讀入待識別圖像文件。②先對圖像進(jìn)行灰度化處理,再對其進(jìn)行二值化處理,必要時(shí)黑白反轉(zhuǎn)。③根據(jù)像素值確定文字區(qū)域的位置,并截取該區(qū)域保存,待進(jìn)行后續(xù)處理。④判斷該區(qū)域的高度,若小于某值,則對此圖像區(qū)域進(jìn)行放大,以提高識別率。⑤根據(jù)圖像中列像素的不連續(xù)性及其大小,分割字符并判斷單詞分割。⑥對分割出來的每個(gè)字符圖像單獨(dú)保存到變量中,并對其修整,去掉外圍無效區(qū)域。⑦對已分割的字符圖塊,按高度分成高、低字符兩類。⑧最關(guān)鍵的一步是字符識別,識別過程即為圖像最佳匹配過程。有很多算法可以實(shí)現(xiàn)圖像匹配評估,常用的有:直方圖法、圖像模板匹配法、SSIM(結(jié)構(gòu)相似性度量)法、余弦相似度法、互信息度量法等。本文解決的內(nèi)容相對簡單,對于二值圖像來講可選用簡單的算法即可。本文采用圖像模板匹配法,將待識別字符圖塊和模板字符圖塊放大/縮小成同樣大小的圖像,用異或運(yùn)算后的殘余像素總數(shù)的多少判定匹配程度。⑨根據(jù)英文字母的特點(diǎn),大寫字符都屬于高字符,而小寫字符中的b,d,f,g,h,i,j,k,l,p,q,t,y為高字符,其余為低字符。待識別字符圖塊屬于高字符類時(shí),只與模板中的高字符相匹配;待識別字符圖塊屬于低字符類時(shí),只與模板中的低字符相匹配。⑩根據(jù)第5步中單詞分割位置,將完整的英文語句輸出到屏幕上。不能識別的字符用“?”替代。
4 結(jié)語
采用MATLAB提供的圖像處理函數(shù),可以實(shí)現(xiàn)英文語句圖像的字符識別,對標(biāo)點(diǎn)符號及阿拉伯?dāng)?shù)字也可以得到滿意結(jié)果。與此同時(shí),本文中提供的方法也存在以下問題:
①只能處理相同字體、大小一致的英文文本,且只能處理一行;
②由于采用了灰度化、二值化方法,文字與背景反差小的圖像無法正確識別。
本文僅用了簡單的圖像匹配算法,可以采用更好的特征提取法、相關(guān)系數(shù)法、神經(jīng)網(wǎng)絡(luò)算法等技術(shù),以適應(yīng)不同字體,提高識別的適應(yīng)性和準(zhǔn)確性。此外,通過在軟件中建立學(xué)習(xí)功能,并對分辨不清的情況提供不同選項(xiàng),可以使系統(tǒng)能識別不同字體,并提高識別的正確性和實(shí)用性。
【參考文獻(xiàn)】
【1】張學(xué)軍.基于MATLAB圖像處理的車牌號識別系統(tǒng)設(shè)計(jì)[J].信息通信,2018(07):36-38.