1 / 12
文档名称:

手写体数字识别程序.doc

格式:doc   大小:99KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

手写体数字识别程序.doc

上传人:小博士 2019/1/9 文件大小:99 KB

下载得到文件列表

手写体数字识别程序.doc

文档介绍

文档介绍:%**************************某于散布木征空间災叶斯分类器的手写体数字识别系统
本***********************
clear;
tic
[trainJmages,trainJabels]=loadMNIST('train--ubyte\ 'train-labelsJdxl-ubyte', 30000,
0);
%将数裾阁像的像素值进行二值化处理
for i=l:l:30000
forj=l:l:784
if train_images(ij)>0&&train_images(ij)<50; train_images(i,j)=l;
elseif train_images(i,j)>=50&&train_images(i,j)<256; train_images(i,j)=2;
else
train_images(i,j)=O;
end
end
end
%将28*28人小的像素快中临近的16个像素值介并为1个,每个数字的像素值用7*7矩阵表示
Z=zeros(28,28,30000);
X=zeros(7,7,30000);
Y=zeros(30000,25);
for k=l:l:30000
for i=l:l:28
forj=l:l:28
Z(i,j,k):train_images(k,j+28*(i-l));
end
end
end
for k=l:l:30000
fori=l:l:7
forj=l:l:7
X(i,j,k卜Z(4*i-3,4*j-3,k 闷
j-2/k)+Z(4*i-2/4*j-lzk)+Z(4*i-2/4*j/k)+Z(4*i-l,4*j-3,k)+Z(4*i-l,4*j-2,k)+Z(4*i-l,4*j-lzk)+Z(4*i-l/4*j/
k)+Z(4*i/4*j-3,k)+Z(4*i,4*j-2,k)+Z(4*i,4*j-l/k)+Z(4*i/4*j/k);
end
end
end
%删掉第1行与第1列最后1行最后1列
X=X(2:6,2:6,:);
%将5*5矩阵变成一维向景,川Y表示
for k=l:l:30000
for i=l:l:5
forj=l:l:5
Y(kj+5*(i-l))=X(iJ,k);
end
end
end
%去掉第15个像素特征值
%Y(:/15)=[];
%木本*木木木**本*本木*♦木木木**本木*木*木**木**本木**本木*本木*木*木*♦♦本本*本**本
%统计训练样木中o-9数字的数目并将数字a于相应的分类矩阵巾
%木木木氺木氺本木本木木*本木氺木氺本氺本氺氺木氺木氺木氺本氺本氺氺木本木本本氺本氺本氺本木氺本氺本木木氺本
N_0=0;N_l=0;N_2=0;N_3=0;N_4=0;N_5=0;N_6=0;N_7=0;N_8=0;N_9=0; %初始化 0-9 数字数 H
的变量
Tr_0=zeros([]/25);Tr_l=zeros([]/25);Tr_2=zeros([],25);Tr_3=zeros([],25);Tr_4=zeros([],25);
Tr_5=zeros([],25);Tr_6=zeros([],25);Tr_7=zeros([],25);Tr_8=zeros([],25);Tr_9=zeros([]z25);
for 1=1:1:30000
if train_labels(i,l)==O
N_0=N_0+l;
Tr_0(N_0,:)=Y(i,:); elseif train_labels(i,l)==l
N_1=N_1+1;
Tr_l(N_l,:)=Y(i,:); elseif train_labels(i,l)==2
N_2=N_2+1;
Tr_2(N_2,:)=Y(i,:);
elseif train_labels(i,l)==3 N_3=N_3+1;
Tr_3(N_3,:)=Y(i,:); elseif train_labels(i,l)==4
N_4=N_4+1;
Tr_4(N_4,:)=Y(i,:); elseif train_labels(i,l)==5
N_5=N_5+1;
Tr_5(N_5,:)=Y(i,:); elseif train_labels(i,l)==6
N_6=N_6+1;
Tr_6(N_6,:)=Y(i,:); elseif train_labels(i/l)==7
N_7=N_7+1;
Tr_7(N_7,:)=Y(i,:); elseif trainjabels(i4)==8
N 8=N 8+1;