1、0基于 VC 手写数字识别程序设计目录1、摘要 .12、原理 .22.1、图像的二值化处理22.2、模板匹配法22.3、图像的特征提取313、系统设计 .43.1、主界面43.2、图像绘制63.3、特征提取63.4、学习73.5、识别83.6、2清除94、系统调试 .95、心得体会 .116、参考文献 .12附录: .131、摘要自上世纪六十年代以来,计算机视觉与图像处理越来越受到人们的关注,并逐渐成为一门重要的学科领域。而作为它们的研究对象的数字图像,也因为它含有研究目标的丰富信息而成为越来越重要的研究对象。图像识别的目标是用计算机自动完成某些信息的处理,用来替代人工去处理图像分类及识别的任
2、务。3手写数字识别是图像识别学科下的一个分支,是图像处理和模式识别领域研究的课题之一,由于其具有很强的实用性一直是多年来的研究热点。由于手写体数字的随意性很大,例如,笔画的粗细,字体的大小,倾斜等等都直接影响到字符的正确识别,所以手写体数字识别是一个很有挑战性的课题。在过去的数十年中,研究者们提出了许多的识别方法,取得了较大的成果。手写体数字识别实用性很强,在大规模数据统计(如例行年检,人口普查),财务,税务,邮件分拣等等应用领域中都有广阔的应用前景。本课题拟研究手写体数字识别的理论和方法,开发一个小型的手写体数字识别系统。本次设计主要完成以下几个工作:手写数字绘制问题、数字的预处理问题、特征
3、提取问题、特征库的建立问题、数字识别问题。关键词:绘制数字;预处理;特征提取;特征库;数字识别2、原理本次设计主要用到图像的二值化处理、图像特征提取和模板匹配法三个知识点,下面将对这三个知识点进行简单介绍:42.1、图像的二值化处理图像的二值化处理就是将图像上的像素点的灰度值设置为 0 或 255,也就是将整个图像呈现出明显的黑白效果。在手写数字识别系统中,我们在 VC 可视化编程界面中在一个固定大小的控件中手写了一个数字,在程序中获得的只是以这个控件左上角为原点的一系列坐标。在内存中我们开辟一个大小跟这个控件区域大小相同的二维数组(以像素为单位,即生成一张图片的长跟宽跟这个矩形区域相等),这
4、样内存中图像的数据区域的二维数组就跟手写区域的坐标相同,我们再取出手写区域的坐标值,将这些坐标值对应到图像图像数据区域中,并且将它的灰度值置为 255(白色),将图像数据区域的其它坐标值下的灰度值置为0(黑色),这样我们就得到了一张手写数字的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。2.2、模板匹配法模板匹配法是图像识别中最具有代表性的方法之一。它是将从待识别的图像提取的若干特征量与模板对应的特征量进行比较,计算图像和模板特征量之间的距离,用最小距离法判定所属类。模板匹配通常事先建立
5、标准模板库。这里,模板库中的标准模板是数字样本的特征向量。具体过程是:对于一个待测试的样本 X,计算 X 和训练集中的某样本 Xj(0程序清单里的特征提取函数,每个特征的提取如图 3.3 流程图所示:开始求出两个相邻点 p 和 q 的距离(p1)|(q1)mytezheng-decon=1,判断相邻两点 x、y的大小,分别给出不同的水平垂直特征值j=0mytezheng-lenth=11判断 1、0 两点 x、y的大小,分别给出不同的水平垂直特征值mytezheng-lenth=101通过 switch 语句选出不同水平垂直特征值执行相对应 case语句,mytezheng-lenth+0求 lenfirst 的值求 lenth 的值求 lenend 的值