手写体字符识别是人机交互领域的一个重要内容,本文基于 BP 神经网络实现了任意数量字符模版的多字符手写体字符识别.分为以下几步,第一,首先对目标图像进行识别前预处理.包括灰度图像二值化,图像孤立像素滤波,图像膨胀,腐蚀,按字母最小行分割,按字母最小列分割,图像紧缩,归一化等;第二,用处理好的多个样本进行BP神经网络训练.包括BP网络参数的选择,目标结果构建,输入到结果的映射即用样本库进行神经网络学习机的训练;第三,待测字母的识别.包括对图像预处理,字符提取,归一化和送入已训练好的BP网络进行识别.该系统最终实现了95%以上的手写字符识别正确率,有一定的借鉴意义.
%recognize %生成向量形式 for m=0:15 q(m*16+1:(m+1)*16,1)=p1(1:16,m+1); end %识别 [a,Pf,Af]=sim(net,q); a=round(a); switch a case 0,ch='A'; case 1,ch='B'; case 2,ch='C'; case 3,ch='D'; case 4,ch='E'; case 5,ch='F'; case 6,ch='G'; case 7,ch='H'; case 8,ch='I'; case 9,ch='J'; case 10,ch='K'; case 11,ch='L'; case 12,ch='M'; case 13,ch='N'; case 14,ch='O'; case 15,ch='P'; case 16,ch='Q'; case 17,ch='R'; case 18,ch='S'; case 19,ch='T'; case 20,ch='U'; case 21,ch='V'; case 22,ch='W'; case 23,ch='X'; case 24,ch='Y'; case 25,ch='Z'; end %显示识别结果 set(h5,'String',ch,... 'FontSize',30);
[1]李丹. "基于BP神经网络的多样本手写体字符识别." 软件 (2016).