BP神经网络对0-9数字识别(共8页).docx
《BP神经网络对0-9数字识别(共8页).docx》由会员分享,可在线阅读,更多相关《BP神经网络对0-9数字识别(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上3.编程实现BP网络,并利用该程序实现数字(0-9)图片的识别。解:采用BP进行数字(0-9)图片的识别,并使用MATLAB编程实现。BP算法原理:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。1)算法步骤:1. 利用BP神经网络对阿拉伯数字进行识别前,应先对阿拉伯数字位图样本进行预处理,即先将256色位图转为灰度图,然后二值化,最后进行归一化处理,然后进行特征向量提取。大小为2020像素。图像是二值图。下一步建立神经网络,如图1所示。2.
2、建立BP网络,训练BP网络。本设计采用40个训练样本训练BP网络。训练流程如下:3. 训练完BP网络,就可以用数据进行识别。识别流程图如下。图3 数字识别流程2)matlab 代码%预处理clear all;for pcolum=0:39 p1=ones(30,30); %建立全为1的样本矩阵m=strcat(C:Users91082Desktopyangbennum,int2str(pcolum),.jpg); I=imread(m); %循环读入0-39个样本数字文件I1=im2bw(I,0.3); %对输入图像进行二值化处理 采用全局阈值0.3 m,n=find(I1=0); rowmi
3、n=min(m); rowmax=max(m); colummin=min(n); colummax=max(n); I2=I1(rowmin:rowmax,colummin:colummax); %截取是入图像中的数字部分 rate=30/max(size(I2); I3=imresize(I2,rate); %对输入文件变尺寸处理 I,j=size(I3); row=round(30-i)/2); colum=round(30-j)/2); p1(row+1:row+I,colum+1:colum+j)=I3; %建立起30*30的矩阵 p1=-1*p1+ones(30,30); %反色处
4、理 for hh=1:30 p(hh-1)*30+1:(hh-1)*30+30,pcolum+1)=p1(hh,1:30); end %将处理的源样本输入供神经网络训练的样本 % pcolum是样本数循环变量 switch pcolum case 0,10,20,30 t(pcolum+1)=0; %数字0 case1,11,21,31 t(pcolum+1)=1 ; %数字1 case2,12,22,32 t(pcolum+1)=2 ; %数字2 case3,13,23,33 t(pcolum+1)=3; %数字3 case4,14,24,34 t(pcolum+1)=4; %数字4 cas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 数字 识别
限制150内