基于MATLAB手写体数字识别程序设计
手写体识别由于其实用性,一直处于研究进步的阶段,本文主要针对的是对0-9十个手写数字体脱机识别,在Matlab中对样本部分为进行16特征的提取,分别采用最小距离法,最近邻法,KNN法以及BP神经网络算法进行0-9十个数字进行识别,得到每类的分类结果以及各种方法的识别准确率,比较各种方法的优缺点,最后分析比较结果,得出分类结论。
1.引言
本文先是以统计学的方法进行数字识别。识别的数字是从0到
9并利用图象处理软件把这些数字处理成相同大小32*32的二值图。将图像转换为文本格式存储,文档中只包含0和1,共计1934个样本,每类样本数目大致200个,测试样本共计946个。读取txt文档
2.2 手写数字0-9识别
图1 待识别数字形式
后,从生成的矩阵中提取16个特征,然后先用统计学的理论,用最小距离法,最近邻法和KNN法,在Matlab中编写相关程序,得出相关的分类结果和错误率。然后再使用BP神经网络,确定输入,输出节点数和隐藏层节点数,对0-9的样本特征进行训练,得到训练后的网络进行样本测试。将基于BP神经网络的识别结果和错误率和基于统计学的方法的结果进行比较,最终得出分类的结论。
2.数字识别
本文是对手写数字识别,即对0-9十个数字进行识别,我们将存储0-9十个数字的图片利用图像处理软件处理成大小相同的
(32*32)的二值图,然后将图像转化成文本格式。总共有1934个训练样本,946个测试样本。对每个样本提取特征,这儿我们选用提取了16个特征,然后应用最小距离法,KNN在K=1,K=3