随着社会的发展,手写体数字识别得到了日益广泛的应用,因此有大量的手写体数字文档整理、查询、统计的工作需要完成,而手写体数字文档识别系统可以轻而易举地完成很多以前难以想象的工作。本系统所设计的手写体数字识别系统包括输入图片、归一化、特征提取、识别等部分,本文所用到的手写体数字样本都是在Windows自带的画图板中手写输入获得的。首先采用MATLAB的imread.m函数读取手写体数字图像,因为字母图像还没有达到提取特征和输入识别的要求,本文中采用自定义的归一化算法进行图像预处理,将灰度化、二值话图像归一化处理,再用逐像素特征提取法提取数字特征。预处理后将提取到的数字特征进行编码作为神经网络的输入。抽取输入样本的特征向量,对BP神经网络进行训练,然后将另外的样本输入到训练好的网络中,就可以根据网络的输出得到识别结果,并且本文的识别系统在MATLAB环境下进行了仿真模拟。
threshold=minmax(p_train);
net=newff(threshold,[20,1],{‘tansig’,‘purelin’},‘trainlm’);
net.trainParam.epochs=25000;
net.trainParam.goal=0.06;
net.trainParam.show=50;
net.trainParam.lr=0.005;
net.numInputs=45;
net=train(net,p_train,t_train);
net=handles.net;
a=sim(net,p’);
a=round(a(1));
switch (a)
case 0
result=‘0’;
case 1
result=‘1’;
case 2
result=‘2’;
case 3
result=‘3’;
case 4
result=‘4’;
case 5
result=‘5’;
case 6
result=‘6’;
case 7
result=‘7’;
case 8
result=‘8’;
case 9
result=‘9’;
end