%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%识别26个大写字母%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear all;
disp('回车键 ...')
chos=input('请直接按回车键正在生成输入向量和目标向量,请稍等… ');
if isempty(chos), chos=0; end
if chos==0,
for kk=0:256
p1=ones(16,16);% 初始化16×16的二值图像像素值(全白)
m =strcat('nums\',int2str(kk),'.bmp');% 形成训练样本图像的文件名(0~89.bmp)
x=imread(m,'bmp');% 读入训练样本图像文件
bw=im2bw(x,0.5);% 将读入的训练样本图像转换为二值图像
[i,j]= find(bw==0);% 寻找二值图像中像素值为0(黑)的行号和列号
imin=min(i);% 寻找二值图像中像素值为0(黑)的最小行号
imax=max(i);% 寻找二值图像中像素值为0(黑)的最大行号
jmin=min(j);% 寻找二值图像中像素值为0(黑)的最小列号
jmax=max(j);% 寻找二值图像中像素值为0(黑)的最大列号
bw1=bw(imin:imax,jmin:jmax);% 截取图像像素值为0(黑)的最大矩形区域
rate=16/max(size(bw1));% 计算截取图像转换为16×16的二值图像的缩放比例
bw1=imresize(bw1,rate);% 将截取图像转换为16×16的二值图像(由于缩放比例
% 大多数情况下不为16的倍数,所以可能存在转换误差)
[i,j]=size(bw1);% 转换图像的大小
i1=round((16-i)/2);% 计算转换图像与标准16×16的图像的左边界差
j1=round((16-j)/2);% 计算转换图像与标准16×16的图像的上边界差
p1(i1+1:i1+i,j1+1:j1+j)=bw1;% 将截取图像转换为标准的16×16的图像
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,1,2,3,4,5,6,7,8,9} % 字母A
t(kk+1)=0;
case{10,11,12,13,14,15,16,17,18,19} % 字母B
t(kk+1)=1;
case{20,21,22,23,24,25,26,27,28,29} % 字母C
t(kk+1)=2;
case{30,31,32,33,34,35,36,37,38,39} % 字母D
t(kk+1)=3;
case{40,41,42,43,44,45,46,47,48,49} %字母E
t(kk+1)=4;
case{50,51,52,53,54,55,56,57,58,59} %字母F
t(kk+1)=5;
case{60,61,62,63,64,65,66,67,68,69} % 字母G
t(kk+1)=6;
case{70,71,72,73,74,75,76,77,78,79} % 字母H
t(kk+1)=7;
case{80,81,82,83,84,85,86,87,88,89} % 字母I
t(kk+1)=8;
case{90,91,92,93,94,95,96,97,98,99} % 字母J
t(kk+1)=9;
case{100,101,102,103,104,105,106,107,108,109} % 字母K
t(kk+1)=10;
case{110,111,112,113,114,115,116,117,118,119} % 字母L
t(kk+1)=11;
case{120,121,122,123,124,125,126,127,128,129} % 字母M
t(kk+1)=12;
case{130,131,132,133,134,135,136,137,138,139} % 字母N
t(kk+1)=13;
case{140,141,142,143,144,145,146,147,148,149} % 字母O
t(kk+1)=14;
case{150,151,152,153,154,155,156,157,158,159} % 字母P
t(kk+1)=15;
case{160,161,162,163,164,165,166,167,168,169} % 字母Q
t(kk+1)=16;
case{170,171,172,173,174,175,176,177,178,179} % 字母R
t(kk+1)=17;
case{180,181,182,183,184,185,186,187,188,189} % 字母S
t(kk+1)=18;
case{190,191,192,193,194,195,196,197,198,199} %字母T
t(kk+1)=19;
case{200,201,202,203,204,205,206,207,208,209} % 字母U
t(kk+1)=20;
case{210,211,212,213,214,215,216,217,218,219} % 字母V
t(kk+1)=21;
case{220,221,222,223,224,225,226,227,228,229} % 字母W
t(kk+1)=22;
case{230,231,232,233,234,235,236,237,238,239} % 字母X
t(kk+1)=23;
case{240,241,242,243,244,245,246,247,248,249} % 字母Y
t(kk+1)=24;
case{250,251,252,253,254,255,256,257,258,259} % 字母Z
t(kk+1)=25;
end
end
end
save E52PT p t; % 存储形成的训练样本集(输入向量和目标向量)
disp('输入向量和目标向量生成结束!')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%神经网络的训练%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
disp(' ');
chos=input('请按回车键进行神经网络的训练 ');
if isempty(chos), chos=0; end
if chos==0,
load E52PT p t; % 加载训练样本集(输入向量和目标向量)
% 创建BP网
pr(1:256,1)=0;
pr(1:256,2)=1;
net= newff(pr,[26 1],{'logsig','purelin'},'traingdx','learngdm');
% 设置训练参数和训练BP网络
net.trainParam.epochs = 5000;
net.trainParam.goal= 0.002;
net.trainParam.show = 100;%步长为100
net.trainParam.lr=0.05;
net= train(net,p,t);
end
% 存储训练后的BP网络
save E52net net;
没有合适的资源?快使用搜索试试~ 我知道了~
MATLAB实现基于BP神经网络英文字母识别
共263个文件
bmp:260个
m:2个
db:1个
5星 · 超过95%的资源 需积分: 37 388 下载量 190 浏览量
2009-06-23
19:20:29
上传
评论 25
收藏 80KB RAR 举报
温馨提示
基于BP网络的字母识别MATLAB仿真,该程序用MATLAB中的神经网络工具箱进行BP网络仿真,其中还带了训练样本集
资源推荐
资源详情
资源评论
收起资源包目录
MATLAB实现基于BP神经网络英文字母识别 (263个子文件)
123.bmp 14KB
163.bmp 13KB
33.bmp 13KB
43.bmp 13KB
133.bmp 13KB
93.bmp 12KB
13.bmp 12KB
143.bmp 12KB
233.bmp 12KB
63.bmp 12KB
53.bmp 12KB
243.bmp 12KB
3.bmp 12KB
223.bmp 12KB
213.bmp 12KB
113.bmp 11KB
103.bmp 11KB
203.bmp 11KB
23.bmp 11KB
73.bmp 11KB
153.bmp 11KB
183.bmp 11KB
90.bmp 11KB
173.bmp 11KB
253.bmp 11KB
193.bmp 10KB
83.bmp 10KB
110.bmp 8KB
120.bmp 7KB
50.bmp 7KB
151.bmp 7KB
200.bmp 7KB
60.bmp 7KB
140.bmp 7KB
130.bmp 7KB
100.bmp 7KB
180.bmp 7KB
40.bmp 6KB
30.bmp 6KB
70.bmp 6KB
250.bmp 6KB
170.bmp 6KB
10.bmp 6KB
20.bmp 6KB
161.bmp 6KB
190.bmp 6KB
160.bmp 6KB
0.bmp 6KB
240.bmp 5KB
230.bmp 5KB
150.bmp 5KB
131.bmp 5KB
210.bmp 5KB
41.bmp 5KB
101.bmp 5KB
80.bmp 5KB
220.bmp 5KB
121.bmp 5KB
71.bmp 4KB
31.bmp 4KB
162.bmp 4KB
111.bmp 4KB
171.bmp 4KB
72.bmp 4KB
91.bmp 4KB
51.bmp 4KB
11.bmp 4KB
21.bmp 4KB
141.bmp 4KB
201.bmp 4KB
61.bmp 4KB
181.bmp 4KB
241.bmp 4KB
191.bmp 4KB
1.bmp 4KB
251.bmp 4KB
26.bmp 4KB
81.bmp 4KB
92.bmp 4KB
142.bmp 4KB
221.bmp 3KB
36.bmp 3KB
28.bmp 3KB
122.bmp 3KB
172.bmp 3KB
112.bmp 3KB
152.bmp 3KB
124.bmp 3KB
114.bmp 3KB
94.bmp 3KB
9.bmp 3KB
62.bmp 3KB
192.bmp 3KB
102.bmp 3KB
52.bmp 3KB
77.bmp 3KB
32.bmp 3KB
54.bmp 3KB
125.bmp 3KB
127.bmp 3KB
共 263 条
- 1
- 2
- 3
lzkaola
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页