自由手写体数字识别系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自由手写体数字识别系统的设计和实现
摘要:本文论述并设计实现了一个脱机自由手写体数字识别系统。文中首先对待识别数字的预处理进行了介绍,包括二值化、平滑滤波、规范化、细化等图像处理方法;其次,探讨了如何提取数字字符的结构特征和笔划特征,并详细地描述了知识库的构造方法;最后采用了以知识库为基础的模板匹配识别方法,并以MATLAB作为编程工具实现了具有友好的图形用户界面的自由手写体数字识别系统。实验结果表明,本方法具有较高的识别率,并具有较好的抗噪性能。
关键词:手写体数字;预处理;模式识别;特征提取
Abstrct: This paper describes and designs a free handwritten number recognition system. Firstly, the pretreatment of the character to be recognized is introduced, including binarization, smoothing, normalization and thinning. Next, how to extract the structural features of the numbers is discussed, and we describe the constructing method of repository. Finally, we use the method of template matching, based on repository, to recognize the digital number. Matlab is used as a program tool to realize this free handwritten digital recognition system with friendly graphical user interface. The experimental results show that the rate of the recognition system is high, and the proposed method is robust to noise.
Keywords: handwritten number; pretreatment;pattern recognition; feature extraction
1 引言
OCR(Optical Character Recognition)即光学字符识别技术,是通过扫描仪把印刷体或手写体文稿扫描成图像,然后识别成相应的计算机可直接处理的字符。OCR是模式识别的一个分支,按字体分类主要分为印刷体识别和手写体识别两大类。对于印刷体识别又可以分成单一字体单一字号和多种字体多种字号几类。而手写体识别又可分为受限手写体和不受限手写体两类;按识别方式可分为在线识别和脱机识别两类。
字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多使用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入使用,将产生巨大的社会和经济效益。
在整个OCR领域中,最为困难的就是脱机自由手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中已取得很多可喜成就,但距离实用还有一定距离。而在手写数字识别这个方向上,经过多年研究,研究工作者已经开始把它向各种实际使用推广,为手写数据的高速自动输入提供了一种解决方案。
本文首先介绍了自由手写体数字识别的基本原理,包括数字图像预处
理、特征提取和模式识别的基本原理和方法;其次介绍了;最后通过基于MATLAB的实验结果,对本系统的性能进行了分析。
2 手写体数字识别的基本原理
本系统主要由手写体数字识别的训练过程和识别过程组成,训练过程和识别过程均包括预处理、特征提取和模式识别三部分。系统构成如图2.1所示。
图2.1 系统流程图
下面分别介绍各部分工作的基本原理。
2.1 预处理
预处理主要由二值化,平滑去噪,规范化,细化等组成。
本文采用了基于阈值的二值化算法,通过最大类间方差法即OTSU方法,统计图像的灰度直方图选取全局阈值,然后进行二值化处理。
其次,在二值化后利用均值滤波的方法消除孤立点、线的噪声,这样图中就只剩下手写体数字。在滤波中本文采用的是3*3大小的模板。
平滑去噪后,对图像进行规范化处理。找出图像中数字的边界,然后提取出数字把它居中放置在正方形方框中,再对此正方形图像进行线性插值缩放,使它变为统一规格大小的图像,本文中归一化图像的大小是36*36。
在提取特征之前,要对手写体数字进行细化。本文是采用的基于数学形态学的细化算法。细化可用两步腐蚀来实现:第一步是正常的腐蚀,但它是有条件的,也就是说,那些被标为可除去的像素点并不立即消去;在第二步中,只将那些消除后并不破坏连通性的点消除,否则保留。以上每一步都是一个3*3邻域运算。细化是将一个曲线性数字细化为一条单像素宽的线,从而图形化地显示出其拓扑性质。
数字图像预处理前后效果比较如下图所示。图2.2为数字“5”的原始图像,图2.3为对图2.2预处理后的结果图。类似地,图2.4为数字“6”
理后的结果图。
图2.2 原始图像
识别过程训练过程
数据采集,
预处理
特征提取
和选择
分类识别
数据采集,
预处理
分类识别
改进数据采集,
预处理
改进分类识别
待识对象
训练样本人工干预
特征提取
和选择
改进特征提取
和选择
正确率
测试