matlab与神经网络

来源:百度知道 编辑:UC知道 时间:2024/05/04 08:41:11
本人正在做车牌字符识别,用matlab与神经网络,但不甚明白,下面是一段数字0~9识别程序中的形成训练样本集的程序,
clear all;
clc
for kk=0:89
pl=ones(16,16);
m=strcat(int2str(kk),'.bmp');
x=imread('2.bmp');
bw=im2bw(x,0.5);
[i,j]=find(bw==0);
imin=min(i);
imax=max(i);
jmin=min(j);
jmax=max(j);
bw1=bw(imin:imax:jmin:jmax);
rate=16/max(size(bw1));
bw1=imresize(bw1,rate);
[i,j]=size(bw1);
i1=round((16-i)/2);
j1=round((16-j)/2);
p1(i1+1:i1+i,j1+1:j1+j)=bw1;
p1=-1.*p1+ones(16,16);
for m=0:15
p(m*16+1:(m+1)*16,kk+1)=p1(1:16,m+1);
end
switch kk
case{0,10,20,30,40,50,60,70,80,90}
t(kk+1)=0;
case{1,11,21,31,41,51,61,71,81,91}
t(kk+1)=1;
case{2,12,22,32,42,52,62,72,82,92}
t(kk+1)=2;
case{3,13,23,33,43,53,63,73,83,93}

clear all;
clc
for kk=0:89
pl=ones(16,16);
m=strcat(int2str(kk),'.bmp');
x=imread('2.bmp');
bw=im2bw(x,0.5);
[i,j]=find(bw==0);
imin=min(i);
imax=max(i);
jmin=min(j);
jmax=max(j);
bw1=bw(imin:imax:jmin:jmax);
rate=16/max(size(bw1));
bw1=imresize(bw1,rate);
[i,j]=size(bw1);
i1=round((16-i)/2);
j1=round((16-j)/2);
p1(i1+1:i1+i,j1+1:j1+j)=bw1;
p1=-1.*p1+ones(16,16);
for m=0:15
p(m*16+1:(m+1)*16,kk+1)=p1(1:16,m+1);
end
switch kk
case{0,10,20,30,40,50,60,70,80,90}
t(kk+1)=0;
case{1,11,21,31,41,51,61,71,81,91}
t(kk+1)=1;
case{2,12,22,32,42,52,62,72,82,92}
t(kk+1)=2;
case{3,13,23,33,43,53,63,73,83,93}
t(kk+1)=3;
case{4,14,24,34,44,54,64,74,84,9