手写数字识别系统的设计与实现
摘要 本手写数字识别系统是一个以VISUAL STUDIO C++ 6.0为编译
环境,使用MFC进行图形图像界面开发的系统。主要功能是通过在点击手写数字识别菜单下的绘制数字标签弹出的绘制数字窗口中完成数字的手写,在此窗口中可以进行数字的保存及清屏,然后通过文件菜单中的打开标签打开所绘制的数字,从而进行数字的预处理,其中包括灰度化及二值化处理,然后进行特征提取,最后实现数字的识别。本系统的界面设计友好,流程正确,功能也较为完善。实验结果表明,本系统具有较高的识别率。
关键词:绘制数字;预处理;特征提取;特征库;数字识别
目 录
前言 ..................................................... 1 概述 ..................................................... 2 1 需求分析 ............................................... 4 1.1 功能需求分析 ...................................... 4 1.2 性能需求分析 ...................................... 4 1.3 数据需求分析 ...................................... 5 1.4 相关软件介绍 ...................................... 5 2 手写数字识别系统的设计与基本原理 ....................... 6 2.1 系统整体功能模块设计 .............................. 6 2.2 手写数字识别系统的基本原理 ........................ 6 2.2.1 数字图像的绘制 ............................... 6 2.2.2 图像的预处理 ................................. 6 2.2.3 图像的特征提取 ............................... 7 2.2.4 特征库的建立 ................................. 8 2.2.5 图像数字的识别 ............................... 8 3 手写数字识别系统程序设计 ............................... 8 3.1 数字图像的绘制 .................................... 8 3.2数字的特征提取 .................................... 15 3.3 模板特征库的建立 ................................. 18 3.4 数字的识别 ....................................... 20 总结 .................................................... 23
致谢 .................................... 错误!未定义书签。 参考文献 ................................................ 23
前言
自上世纪六十年代以来,计算机视觉与图像处理越来越受到人们的关注,并逐渐成为一门重要的学科领域。而作为它们的研究对象的数字图像,也因为它含有研究目标的丰富信息而成为越来越重要的研究对象。图像识别的目标是用计算机自动完成某些信息的处理,用来替代人工去处理图像分类及识别的任务。
手写数字识别是图像识别学科下的一个分支,是图像处理和模式识别领域研究的课题之一,由于其具有很强的实用性一直是多年来的研究热点。由于手写体数字的随意性很大,例如,笔画的粗细,字体的大小,倾斜等等都直接影响到字符的正确识别,所以手写体数字识别是一个很有挑战性的课题。在过去的数十年中,研究者们提出了许多的识别方法,取得了较大的成果。手写体数字识别实用性很强,在大规模数据统计(如例行年检,人口普查),财务,税务,邮件分拣等等应用领域中都有广阔的应用前景。本课题拟研究手写体数字识别的理论和方法,开发一个小型的手写体数字识别系统。
在研究手写体数字识别理论和方法的基础上,开发这样一个小型的手写体数字识别系统需要完成以下主要方面的研究与设计工作: 手写数字绘制的问题、数字的预处理问题、特征提取问题、特征库的建立问题、数字识别问题。
1
概述
此手写数字识别系统的需要实现手写数字的绘制功能、手写数字的特征提取功能、数字的模板特征库的建立功能以及手写数字的识别功能。
在近几年国内外对手写数字识别系统的研究已经取得了进展,一些新的理论例如基于Hopfield 神经网络、基于小波技术、基于BP 神经网络以及支持向量机的研究应用在建立手写数字识别系统平台,并且在多数数据库中取得了较好的测试结果。但是目前仍然存在亟需深入研究解决的问题:1) 识别的准确度需要达到较好的水平2) 识别的效率要达到很高的水平。数字识别输入的数据通常是很大的,而高精度与高速度是相互矛盾。这些难点存在的原因是:1) 数字的笔划简单,而且其笔划差别相对较小,字形相差不大,使得准确区分某些数字有一些困难;2) 数字虽然只有10 种,且笔划简单,但同一数字写法却千差万别,全世界的各个国家各个地区的人都在用,则其书写上带有区域特性,很难做出可以兼顾世界各种写法的、识别率极高的通用性数字识别系统。3)特征库的训练不够,导致识别率不高。
手写数字识别的研究不仅存在很大的应用价值,由于手写数字识别本身的特点,对它的研究也存在着重要的理论价值:
1) 阿拉伯数字作为唯一被世界各国通用的符号,所以对手写体数字识别的研究基本上与文化背景无关,各地的研究工作者可以说是基于同一平台开展工作的,有利于研究的比较和探讨。
2) 手写数字识别应用广泛,如税表系统,银行支票自动处理和邮政编码自动识别等。在以前,这些工作需要大量的手工录入,投入的人力物力都相对较多,而且劳动强度较大。为了适应无纸化办公的需要,大大提高工作效率,研究实现手写数字识别系统是必须要做的。
3) 由于数字类别只有0-9共10 个,比其他字符识别率较高,可将其用于验证新的理论或做深入的分析研究。许多机器学习和模式识别领域的新理论和算法都是先用手写数字识别进行检验,验证其理论的有效性,然后才会将其应用到更为复杂的领域当中。在这方面的典型例子就是人工神经网络和支持向量机。
4) 手写数字的识别方法很容易将其推广到其它一些相关的问题上,如对英文之类拼音文字的识别。事实上,有许多学者就是把数字和英文字母的识别放在
2