基于MATLAB的字符識(shí)別研究_第1頁(yè)
基于MATLAB的字符識(shí)別研究_第2頁(yè)
基于MATLAB的字符識(shí)別研究_第3頁(yè)
基于MATLAB的字符識(shí)別研究_第4頁(yè)
基于MATLAB的字符識(shí)別研究_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、function Bayes2%算法視線見(jiàn)模式識(shí)別P33P44(各類樣本的協(xié)方差不相等)%為了提高實(shí)驗(yàn)樣本測(cè)試的精度,故采用多次模擬求平均值的方法N=input(實(shí)驗(yàn)?zāi)M次數(shù) N(N最好為奇數(shù)) );Result(1:3,1:3)=0; %判別矩陣的初始化for k=1:N %控制程序模擬次數(shù)N %生成二維正態(tài)分布的樣本2 X N 維的矩陣 X1=mvnrnd(1 2,4 0;0 6,300); %2 X N X2=mvnrnd(5 3,5 0;0 1,200); X3=mvnrnd(4 7,2 0;0 9,500); %樣本程序 %-% %測(cè)試樣本 X10=mvnrnd(1 2,4 0;0

2、6,100); %2 X N X20=mvnrnd(5 3,5 0;0 1,100); X30=mvnrnd(4 7,2 0;0 9,100); %先驗(yàn)概率 P(1)=length(X1)/(length(X1)+length(X2)+length(X3); P(2)=length(X2)/(length(X1)+length(X2)+length(X3); P(3)=length(X3)/(length(X1)+length(X2)+length(X3); %計(jì)算相關(guān)量 cov(X):協(xié)方差矩陣 Ave:均值 %-% W1=-1/2*inv(cov(X1); W2=-1/2*inv(cov(

3、X2); W3=-1/2*inv(cov(X3);% Ave1=(sum(X1)/length(X1);Ave2=(sum(X2)/length(X2); Ave3=(sum(X3)/length(X3);%計(jì)算平均值(2維列向量) w1=inv(cov(X1)*Ave1;w2=inv(cov(X2)*Ave2;w3=inv(cov(X3)*Ave3;%2 w10=-1/2*Ave1*inv(cov(X1)*Ave1-1/2*log(det(cov(X1)+log(P(1); w20=-1/2*Ave2*inv(cov(X2)*Ave2-1/2*log(det(cov(X2)+log(P(2)

4、; w30=-1/2*Ave3*inv(cov(X3)*Ave3-1/2*log(det(cov(X3)+log(P(3); %-% for i=1:3 for j=1:100 if i=1 g1=X10(:,j)*W1*X10(:,j)+w1*X10(:,j)+w10; g2=X10(:,j)*W2*X10(:,j)+w2*X10(:,j)+w20; g3=X10(:,j)*W3*X10(:,j)+w3*X10(:,j)+w30; if g1=g2&g1=g3 Result(1,1)=Result(1,1)+1; elseif g2=g1&g2=g3 Result(1,2)=Result(1

5、,2)+1;%記錄誤判情況 else Result(1,3)=Result(1,3)+1;%記錄誤判情況 end elseif i=2 g1=X20(:,j)*W1*X20(:,j)+w1*X20(:,j)+w10; g2=X20(:,j)*W2*X20(:,j)+w2*X20(:,j)+w20; g3=X20(:,j)*W3*X20(:,j)+w3*X20(:,j)+w30; if g2=g1&g2=g3 Result(2,2)=Result(2,2)+1; elseif g1=g2&g1=g3 Result(2,1)=Result(2,1)+1; else Result(2,3)=Resu

6、lt(2,3)+1; end else g1=X30(:,j)*W1*X30(:,j)+w1*X30(:,j)+w10; g2=X30(:,j)*W2*X30(:,j)+w2*X30(:,j)+w20; g3=X30(:,j)*W3*X30(:,j)+w3*X30(:,j)+w30; if g3=g1&g3=g2 Result(3,3)=Result(3,3)+1; elseif g2=g1&g2=g3 Result(3,2)=Result(3,2)+1; else Result(3,1)=Result(3,1)+1; end end end endend%畫出各樣本的分布情況subplot(

7、2,1,1)plot(X1(1,:),X1(2,:),r.,LineWidth,2),hold onplot(X2(1,:),X2(2,:),go,LineWidth,2),hold onplot(X3(1,:),X3(2,:),b+,LineWidth,2),hold ontitle(訓(xùn)練樣本分布情況)legend(訓(xùn)練樣本1,訓(xùn)練樣本2,訓(xùn)練樣本3)subplot(2,1,2)plot(X10(1,:),X10(2,:),r.,LineWidth,2),hold onplot(X20(1,:),X20(2,:),go,LineWidth,2),hold onplot(X30(1,:),X3

8、0(2,:),b+,LineWidth,2),hold ontitle(測(cè)試樣本分布情況)legend(測(cè)試樣本1,測(cè)試樣本2,測(cè)試樣本3)%由于多次循環(huán)后存在小數(shù),根據(jù)實(shí)際情況判別矩陣須取整%如果N為偶數(shù),可能出現(xiàn)小數(shù)為0.5的情況,此時(shí)將無(wú)法更加準(zhǔn)確判斷矩陣Result=Result/N %判別矩陣,反映Bayes的判別效果for i=1:length(Result) if round(sum(Result(i,:)-fix(Result(i,:)=1 m,n=find(max(Result(i,:)-fix(Result(i,:)=(Result(i,:)-fix(Result(i,:)

9、; n=min(n);%存在小數(shù)點(diǎn)相同的情況隨即選取一個(gè) for j=1:length(Result) if j=n Result(i,j)=fix(Result(i,j)+1; else Result(i,j)=fix(Result(i,j); end end elseif round(sum(Result(i,:)-fix(Result(i,:)=2 m,n1=find(max(Result(i,:)-fix(Result(i,:)=(Result(i,:)-fix(Result(i,:); m,n2=find(min(Result(i,:)-fix(Result(i,:)=(Result

10、(i,:)-fix(Result(i,:); n1=min(n1);n2=min(n2);%如果有存在小數(shù)點(diǎn)相同的情況,隨即選取一個(gè) for j=1:length(Result) if j=n1 Result(i,j)=fix(Result(i,j)+1; elseif j=n2 Result(i,j)=fix(Result(i,j); else Result(i,j)=fix(Result(i,j)+1; end end else continue, endend圖像預(yù)處理具體步驟如下:首先對(duì)圖像進(jìn)行灰度轉(zhuǎn)換,二值化處理然后采用4X1的結(jié)構(gòu)元素對(duì)圖像進(jìn)行腐蝕,去除圖像的噪聲。采用25X25的

11、結(jié)構(gòu)元素,對(duì)圖像進(jìn)行閉合應(yīng)算使車牌所在的區(qū)域形成連通。再進(jìn)行形態(tài)學(xué)濾波去除其它區(qū)域。I=imread(CAR/0.jpg);%讀取圖片I1=rgb2gray(I); %轉(zhuǎn)化為灰度圖像I2=edge(I1,roberts,0.09,both); %采用robert算子進(jìn)行邊緣檢測(cè)se=1;1;1; %線型結(jié)構(gòu)元素 I3=imerode(I2,se); %腐蝕圖像se=strel(rectangle,25,25); %矩形結(jié)構(gòu)元素I4=imclose(I3,se); %圖像聚類、填充圖像I5=bwareaopen(I4,2000); %去除聚團(tuán)灰度值小于2000的部分通過(guò)對(duì)比原始圖片,我們可以發(fā)現(xiàn)

12、形態(tài)濾波后的圖像已經(jīng)很接近正確的車牌位置了,因此后期處理將通過(guò)這張圖來(lái)找出車牌位置。2. 車牌定位觀察經(jīng)過(guò)預(yù)處理后得到的圖像發(fā)現(xiàn)車牌位置有明顯的矩形有明顯的矩形圖樣,通過(guò)對(duì)矩形區(qū)域的定位即可獲得具體的車牌位置。(1) 車牌的行起始和終止位置的確定y,x=size(I5);I6=double(I5);%繪制行曲線圖Y1=zeros(y,1);for i=1:y for j=1:x if(I6(i,j)=1) Y1(i,1)= Y1(i,1)+1; end endendfigure();subplot(1,3,1);plot(0:y-1,Y1),title(行像素灰度值累計(jì)),xlabel(行值)

13、,ylabel(像素和); temp, MaxY=max(Y1);PY1=MaxY;while (Y1(PY1,1)=80)&(PY11)PY1=PY1-7;endPY2=MaxY;while (Y1(PY2,1)=80)&(PY2y)PY2=PY2+7;end(2) 車牌的列起始位置和終止位置的確定%繪制列曲線圖X1=zeros(1,x);for j=1:x for i=PY1:PY2 if(I6(i,j)=1) X1(1,j)= X1(1,j)+1; end endendsubplot(1,3,2);plot(0:x-1,X1),title(列像素灰度值累計(jì)),xlabel(列值),yla

14、bel(像數(shù)和);PX1=1;while (X1(1,PX1)3)&(PX1x)PX1=PX1+7;endPX2=x;while (X1(1,PX2)PX1)PX2=PX2-7;end(3) 最后拼合獲取的車牌在圖像的行列位置DW=I(PY1:PY2,PX1:PX2,:);subplot(1,3,3);imshow(DW),title(車牌定位后圖像);3. 字符分割在汽車牌照自動(dòng)識(shí)別過(guò)程中,字符分割有承前啟后的作用。它在前期牌照定位的基礎(chǔ)上進(jìn)行字符的分割,然后再利用分割的結(jié)果進(jìn)行字符識(shí)別。% 車牌圖像轉(zhuǎn)為灰度if isrgb(I)I1 = rgb2gray(I);elseI1 = I;end

15、% 二值化車牌圖像I1 = im2bw(I1,graythresh(I1);%二值化圖像I2 = bwareaopen(I1,16);%去除小于16像素的區(qū)塊figure();subplot(1,2,1);imshow(I2),title(二值化車牌圖像);% 分割字符按行積累量y,x=size(I2);I3=double(I2);X1=zeros(1,x);for j=1:xfor i=1:y if(I3(i,j)=1) X1(1,j)= X1(1,j)+1; endendendsubplot(1,2,2);plot(0:x-1,X1),title(車牌列像素點(diǎn)累計(jì)),xlabel(列值),

16、ylabel(像素和);% 分割字符Px0=1;Px1=1;figure();for i=1:7while (X1(1,Px0)3)&(Px0=3)&(Px1x)|(Px1-Px0)10) Px1=Px1+1;endZ=I2(:,Px0:Px1);switch strcat(Z,num2str(i) case Z1 PIN0=Z; case Z2 PIN1=Z; case Z3 PIN2=Z; case Z4 PIN3=Z; case Z5 PIN4=Z; case Z6 PIN5=Z; otherwise PIN6=Z;endsubplot(1,7,i);imshow(Z);Px0=Px1;

17、end分割成七塊后的車牌圖像4. 建立字符模板數(shù)據(jù)庫(kù)汽車牌照的字符一般有 7 個(gè),大部分車牌第一位是漢字,通常代表車輛所屬省份,或是軍種 警別等有特定含義的字符簡(jiǎn)稱;緊接其后的為字母與數(shù)字。十個(gè)阿拉伯?dāng)?shù)字09, 26 個(gè)大寫英文字母 AZ 以及相關(guān)的車牌用漢字:京、滬、蘇、臺(tái)、港、澳、甲、乙、丙、使、領(lǐng)、學(xué)、試、境、消、邊、警等。function inpt = Pretreatment(I)% 訓(xùn)練樣本前期處理if isrgb(I) I1 = rgb2gray(I);elseI1=I;endI1=imresize(I1,50 25);%將圖片統(tǒng)一劃為50*25大小I1=im2bw(I1,0.9

18、);m,n=size(I1);inpt=zeros(1,m*n);% 將圖像按列轉(zhuǎn)換成一個(gè)行向量for j=1:nfor i=1:m inpt(1,m*(j-1)+i)=I1(i,j);endend這是一個(gè)自定義函數(shù)的Pretreatment.m 文件,可以解決頻繁寫重復(fù)代碼的問(wèn)題,前面的圖像預(yù)處理及車牌定位的代碼可以寫進(jìn)Location.m文件中,通過(guò)代碼DW = Location(I); 取得車牌定位后的圖像;同時(shí)字符分割的代碼亦可寫進(jìn)StringSplit.m 文件中,可以通過(guò)代碼PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6=StringSplit(DW); 取得

19、的字符分割后的圖像。5. 字符識(shí)別字符的識(shí)別目前用于車牌字符識(shí)別(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神經(jīng)網(wǎng)絡(luò)的OCR算法。設(shè)計(jì)代碼如下:close all;clear all;% 歸一化訓(xùn)練樣本I0=pretreatment(imread(BP/0.jpg);I1=pretreatment(imread(BP/1.jpg);I2=pretreatment(imread(BP/2.jpg);I3=pretreatment(imread(BP/3.jpg);I4=pretreatment(imread(BP/4.jpg);I5=pretreatment(imread(BP/

20、5.jpg);I6=pretreatment(imread(BP/6.jpg);I7=pretreatment(imread(BP/7.jpg);I8=pretreatment(imread(BP/8.jpg);I9=pretreatment(imread(BP/9.jpg);I10=pretreatment(imread(BP/A.jpg);I11=pretreatment(imread(BP/B.jpg);I12=pretreatment(imread(BP/C.jpg);I13=pretreatment(imread(BP/D.jpg);I14=pretreatment(imread(B

21、P/G.jpg);I15=pretreatment(imread(BP/K.jpg);I16=pretreatment(imread(BP/L.jpg);I17=pretreatment(imread(BP/M.jpg);P=I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15,I16,I17;T=eye(18,18); %輸出樣本% bp神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置net=newff(minmax(P),1250,32,18,logsig,logsig,logsig,trainrp);net.inputWeights1,1.initFcn =rand

22、nr;net.layerWeights2,1.initFcn =randnr;net.trainparam.epochs=5000;net.trainparam.show=50;net.trainparam.lr=0.003;net.trainparam.goal=0.0000000001;net=init(net);net,tr=train(net,P,T);%訓(xùn)練樣本% 測(cè)試I=imread(CAR/0.jpg);DW=Location(I);%車牌定位PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6=StringSplit(DW);%字符分割及處理% 測(cè)試字符,得到識(shí)別數(shù)值PIN0=pretreatment(PIN0);PIN1=pretreatment(PIN1);PIN2=pretreatment(PIN2);PIN3=pretreatment(PIN3);PIN4=pretreatment(PIN4);PIN5=pretreatment(PIN5);PIN6=pretreatment(PI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論