实验七:基于神经网络的模式识别实验.doc

实验七:基于神经网络的模式识别实验.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验七:基于神经网络的模式识别实验

实验七:基于神经网络的模式识别实验 实验目的 理解BP神经网络和离散Hopfield神经网络的结构和原理,掌握反向传播学习算法对神经元的训练过程,了解反向传播公式。通过构建BP网络和离散Hopfield网络模式识别实例,熟悉前馈网络和反馈网络的原理及结构。 综合掌握模式识别的原理,了解识别过程的程序设计方法。 实验内容 熟悉模式识别的理论方法,用选择一种合适的识别方法,对图像中的字符(英文字母)进行识别,能够区分出不同的形态的26个字母。 在Matlab中,采用BP神经网络,对读取的数据进行训练,进而识别。 1. 程序设计 (1)程序各流程图 实验中主程序流程图如图4-1所示: 图4-1 主程序流程图 其中图像预处理的流程如图4-2 所示: 图4-2 图像预处理的流程 神经网络训练的具体流程如图4-3 所示: 图4-3 神经网络训练流程 (2)程序清单 %形成用户界面 clear all; %添加图形窗口 H=figure(Color,[0.85 0.85 0.85],... position,[400 300 500 400],... Name,基于BP神经网络的英文字母识别,... NumberTitle,off,... MenuBar,none); %画坐标轴对象,显示原始图像 h0=axes(position,[0.1 0.6 0.3 0.3]); %添加图像打开按钮 h1=uicontrol(H,Style,push,... Position,[40 100 80 60],... String,选择图片,... FontSize,10,... Call,op); %画坐标轴对象,显示经过预处理之后的图像 h2=axes(position,[0.5 0.6 0.3 0.3]); %添加预处理按钮 h3=uicontrol(H,Style,push,... Position,[140 100 80 60],... String,二值化,... FontSize,10,... Call,preprocess); %添加识别按钮 h4=uicontrol(H,Style,push,... Position,[240 100 80 60],... String,字母识别,... FontSize,10,... Call,recognize); %添加显示识别结果的文本框 %添加训练神经网络按钮 h6=uicontrol(H,Style,push,... Position,[340 100 80 60],... String,网络训练,... FontSize,10,... Call,Example1Tr); %预处理 %preprocess p1=ones(16,16); 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); %调整比例,变换成16*16图像 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); %显示预处理的结果 axes(h2); imshow(p1); %Example1Tr,训练网络 M=1;%人数 N=26*M;%样本数 %获取26个大写字母图像的数据 for kk=0:N-1 p1=ones(16,16);%初始化16*16的二值图像(全白) m=strcat(int2str(kk),.bmp);%形成文件名 x=imread(m,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);%截取 %调整比例,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档