【正文】
文本信息占環(huán)境信息很大一部分,為了使人工智能系統(tǒng)更為完善,則需要系統(tǒng)能夠像人眼一樣對周圍環(huán)境信息進行理解,尤其是環(huán)境信息中的文本信息。文字是信息存儲和傳遞的重要載體,在很多由攝像設(shè)備拍攝的圖片中,都存在或多或少的文字,比如路牌、店名、車站牌、商品簡介等,識別圖片中的文字對計算機理解圖像的整體內(nèi)容有非常重大的作用。研究如何對自然場景圖片中的字符進行識別,提取出有用信息,在獲取圖片文本信息的各個領(lǐng)域都有極大的商業(yè)價值。自然場景文本識別,就是將提取出來的自然場景圖片中的進行識別,提取出信息用于進一步的處理。需要對自然場景圖片中的識別首先需要對圖片中的文本進行定位,然后再對己經(jīng)精確定位的圖片進行識別。沈 陽 理 工 大 學(xué) 課 程 設(shè) 計 專 用 紙沈陽理工大學(xué)53 相關(guān)知識1. 在 Matlab 中調(diào)用 i1=imread(‘’ ),可得到原始圖像,如圖所示:圖 2 文字識別算法調(diào)制器模型 2. 調(diào)用 i2=rgb2gray(i1),則得到了灰度圖像,如圖所示:圖 3 灰度圖像調(diào)用 a=size(i1)??傻玫剑篴=3 ,b=2 即三維圖像變成了二維灰度圖像3. 調(diào)用 i3=( i2》=thresh)。橫向、縱向分別的腐蝕膨脹運算比橫向、縱向同時的腐蝕膨脹運算好上很多。對腐蝕膨脹后的圖像進行 X 方向上的區(qū)域選定,限定區(qū)域后的圖像如圖 11 所示: 掃描方法:兩邊往中間掃,縱向掃描后的圖像與原圖像的對照。8. 調(diào)用自定義函數(shù)(字符獲取函數(shù))i9=getchar(i8)。 ,可將陣列 word 中的字符顯示出來。 %顯示字符 end11. 調(diào)用以下代碼,將字符規(guī)格化,便于識別: for j=1:um word{j}=imresize(word{j},[40 40])?!?。13. 字符匹配采用模板匹配算法:將現(xiàn)有字符逐個與模板字符相減,認為相減誤差最小的現(xiàn)有字符與該模板字符匹配。經(jīng)模板匹配。 c=fopen(new ,‘a(chǎn)+’ )。 fclose(c)。對于左右結(jié)構(gòu)的字符(如:川)容易造成誤識別,“川”字將會被識別成三部分。模板匹配效率低。TImes。TImes。伸縮范圍比較小。對于具體的圖片,需反復(fù)選擇合適的 thresh 進行二值化處理,甚至在處理之前必須進行各種濾波。SR=0。Count=0。 % 突變的閾值Str=39。 % T 表示結(jié)構(gòu)未定,Str 用于保存當(dāng)前的基本結(jié)構(gòu)Stroke=39。 % 用于保存基本結(jié)構(gòu)Range=Y2Y1+1。 if (abs(LeftD(j))PT) if (LeftD(j)0) SL=SL+1。 else SV=SV+1。amp。C39。amp。V39。amp。amp。L39。amp。amp。R39。amp。C39。 end if ((j=2+Y1)amp。((j=Y22))) Stroke=[Stroke 39。]。 SR=0。 Count=0。T39。amp。C39。amp。V39。amp。amp。L39。amp。amp。R39。amp。C39。 function [Numeral]=Recognition(StrokeTop,StrokeLeft,StrokeRight,StrokeBottom,Comp)% 采用四邊的輪廓結(jié)構(gòu)特征和筆劃統(tǒng)計(僅針對 0 和 8)識別殘缺數(shù)字% Comp 是用于識別 0 和 8 的底部補充信息StrT=39。StrL=39。StrR=39。StrB=39。RStr=39。 % 用于保存識別出的數(shù)字[temp XT]=size(StrokeTop)。[temp XR]=size(StrokeRight)。for Ti=2:XT if (StrokeTop(Ti)==39。) if ((XL==2)amp。(XR==2)) if ((Comp=3)||((StrokeBottom(2)~=39。)amp。(StrokeLeft(2)==39。)amp。(StrokeRight(2)==39。))) RStr=39。 else RStr=39。 end 沈 陽 理 工 大 學(xué) 課 程 設(shè) 計 專 用 紙沈陽理工大學(xué)12 else if ((StrokeLeft(XL)==39。)amp。(StrokeLeft(XL1)==39。)amp。(StrokeLeft(2)~=39。)) RStr=39。 else if ((StrokeLeft(2)==39。)amp。(XL=3)amp。(StrokeLeft(3)==39。)) RStr=39。 else if (XL2) for Li=2:XL if (StrokeLeft(Li)==39。) RStr=39。 end end else if (XL==2) for Ri=2:XR1 if (StrokeRight(Ri)==39。) RStr=39。 end end end end end end end else if (StrokeTop(Ti)==39。) % Top if ((XR==2)amp。(StrokeRight(2)==39。)) % 數(shù)字 3 右端只有一個結(jié)構(gòu) RStr=39。 else if ((XR==2)amp。((StrokeLeft(2)==39。)||(StrokeLeft(3)==39。)||(StrokeLeft(XL)==39。)))