資源簡介
基于貝葉斯的英文字母識別, matlab實現

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%識別26個大寫字母%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear?all;
disp(‘回車鍵?...‘)
chos=input(‘請直接按回車鍵正在生成輸入向量和目標向量,請稍等…?‘);
if?isempty(chos)?chos=0;?end?
if?chos==0
for?kk=0:256?
????p1=ones(1616);%?初始化16×16的二值圖像像素值(全白)???
????m?=strcat(‘nums\‘int2str(kk)‘.bmp‘);%?形成訓練樣本圖像的文件名(0~89.bmp)????
????x=imread(m‘bmp‘);%?讀入訓練樣本圖像文件???
????bw=im2bw(x0.5);%?將讀入的訓練樣本圖像轉換為二值圖像??
????[ij]=?find(bw==0);%?尋找二值圖像中像素值為0(黑)的行號和列號??
????imin=min(i);%?尋找二值圖像中像素值為0(黑)的最小行號?
????imax=max(i);%?尋找二值圖像中像素值為0(黑)的最大行號???
????jmin=min(j);%?尋找二值圖像中像素值為0(黑)的最小列號???
????jmax=max(j);%?尋找二值圖像中像素值為0(黑)的最大列號???
????bw1=bw(imin:imaxjmin:jmax);%?截取圖像像素值為0(黑)的最大矩形區域?
????rate=16/max(size(bw1));%?計算截取圖像轉換為16×16的二值圖像的縮放比例
????bw1=imresize(bw1rate);%?將截取圖像轉換為16×16的二值圖像(由于縮放比例??
???????????????????????????????%?大多數情況下不為16的倍數所以可能存在轉換誤差)?
???[ij]=size(bw1);%?轉換圖像的大小???
???i1=round((16-i)/2);%?計算轉換圖像與標準16×16的圖像的左邊界差????
???j1=round((16-j)/2);%?計算轉換圖像與標準16×16的圖像的上邊界差????
???p1(i1+1:i1+ij1+1:j1+j)=bw1;%?將截取圖像轉換為標準的16×16的圖像?
???p1=?-1.*p1+ones(1616);%?反色處理????%?以圖像數據形成神經網絡輸入向量?
???for?m=0:15???????
???p(m*16+1:(m?+1)*16kk+1)=p1(1:16m+1);???
end????%?形成神經網絡目標向量??
switch?kk????
case{0123456789}??%?字母A???????
????t(kk+1)=0;???
case{10111213141516171819}??%?字母B????
????t(kk+1)=1;????
case{20212223242526272829}??%?字母C??????
????t(kk+1)=2;????
case{30313233343536373839}??%?字母D??????
????t(kk+1)=3;????
case{40414243444546474849}??%字母E???????????
????t(kk+1)=4;???????
case{50515253545556575859}??%字母F????????
????t(kk+1)=5;????
case{60616263646566676869}??%?字母G???????
????t(kk+1)=6;?????
case{70717273747576777879}??%?字母H????????
????t(kk+1)=7;????????????
case{80818283848586878889}??%?字母I?????
????t(kk+1)=8;???????
case{90919293949596979899}??%?字母J??????
????t(kk+1)=9;?
case{100101102103104105106107108109}??%?字母K?????
????t(kk+1)=10;
case{110111112113114115116117118119}??%?字母L?????
????t(kk+1)=11;?
case{120121122123124125126127128129}??%?字母M????
????t(kk+1)=12;?
case{130131132133134135136137138139}??%?字母N?????
????t(kk+1)=13;
case{140141142143144145146147148149}??%?字母O??????
????t(kk+1)=14;
case{150151152153154155156157158159}??%?字母P??????
????t(kk+1)=15;
case{160161162163164165166167168169}??%?字母Q??????
????t(kk+1)=16;?
case{170171172173174175176177178179}??%?字母R?????
????t(kk+1)=17;?
case{180181182183184185186187188189}??%?字母S?????
????t(kk+1)=18;?
case{190191192193194195196197198199}??%字母T?????
????t(kk+1)=19;?
case{200201202203204205206207208209}??%?字母U?????
????t(kk+1)=20;
case{210211212213214215216217218219}??%?字母V??????
????t(kk+1)=21;?
case{220221222223224225226227228229}??%?字母W??????
????t(kk+1)=22;
case{230231232233234235236237238239}??%?字母X????
????t
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????14502??2009-05-07?22:23??字母識別\123.bmp
?????文件??????12566??2009-05-07?22:22??字母識別\143.bmp
?????文件?????118191??2010-06-01?15:17??字母識別\E52net.mat
?????文件???????4344??2010-06-01?15:15??字母識別\E52PT.mat
?????文件???????4373??2010-05-31?13:03??字母識別\shibie.asv
?????文件???????4376??2009-06-23?13:32??字母識別\shibie.m
?????文件???????1511??2009-06-23?13:34??字母識別\shibie2.m
????..A.SH.????395292??2010-06-01?15:21??字母識別\Thumbs.db
?????文件??????48128??2010-06-01?16:22??字母識別\神經網絡.doc
?????目錄??????????0??2010-06-01?16:28??字母識別
-----------?---------??----------?-----??----
???????????????603283????????????????????10
- 上一篇:SVPWM控制模型
- 下一篇:gabor特征提取matlab實現
評論
共有 條評論