实验七:基于神经网络的模式识别实验
一、 实验目的
理解BP神经网络和离散Hopfield神经网络的结构和原理,掌握反向传播学习算法对神经元的训练过程,了解反向传播公式。通过构建BP网络和离散Hopfield网络模式识别实例,熟悉前馈网络和反馈网络的原理及结构。
二、 实验内容
熟悉模式识别的理论方法,用选择一种合适的识别方法,对图像综合掌握模式识别的原理,了解识别过程的程序设计方法。
中的字符(英文字母)进行识别,能够区分出不同的形态的26个字母。
在Matlab中,采用BP神经网络,对读取的数据进行训练,进而
识别。
1. 程序设计 (1)程序各流程图
实验中主程序流程图如图4-1所示:
其中图像预处理的流程如图4-2 所示:
图4-2 图像预处理的流程
神经网络训练的具体流程如图4-3 所示:
获取图像数据 创建神经网络 训练 存储训练好的神经网络 显示预处理结图像输入 灰度转化 图像二值化 图4-1 主程序流程图
调整比例 归一化调整 图像分割
1
图4-3 神经网络训练流程
程序清单
%形成用户界面 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]); %添加预处理按钮
2
(2)