数字图像中手写阿拉伯数字识别.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像中手写阿拉伯数字的识别技术概览 撰文?周翔??? 摘要: 图像中手写阿拉伯数字的识别和其他模式的识别所采用的方法是多种多样的。本文论述了图像中手写阿拉伯数字的识别过程,并对手写数字识别的三种方法(基于规则的方法、基于统计的方法和基于神经网络的方法)进行了简要介绍和分析,并通过实例重点对基于规则的方法进行了描述。最后是对这些方法的简要评价。 1.?手写数字图像识别简介 手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的模式数较少(只有0到9,10个阿拉伯数字)、阿拉伯数字笔画少并且简单等。手写阿拉伯数字的识别采用的方法相对于人脸识别、汉字识别等应用领域来说可以采用更为灵活的方法,例如基于规则的方法、基于有限状态自动机的方法、基于统计的方法和基于神经网络的方法等。目前比较流行的方法是基于神经网络的方法和基于统计的方法,但无论使用哪种方法,也需要通过基本的图像处理技术来对图像进行预处理,才能获得这些方法的输入信息。所以,本文的开始部分先对手写阿拉伯数字识别的整个处理流程进行论述,而这个流程也可以用于图像中其他模式的识别。当然这个处理流程也不是唯一的,可以根据不同的模式识别应用场景进行与之不同的预处理流程。 2.?手写数字图像识别的主要流程 在本文中,笔者在对图像进行分析前,先对图像进行了以下处理操作。 第一步:对源图像进行黑白二值化处理,如图1。 ??? ??? 图1:源图像(左)和处理后的图像(右) 第二步:对第一步处理后的图像进行形态学图像处理中的开运算,然后再进行闭运算(如图2),先进行开运算的目的是去除图像中的离散黑色像素点,再进行闭运算可以填补手写数字中的裂缝。为了突出变换前后的区别,图2中将源图像中的一部分放大显示,可以看出,经过处理,数字7上面横线中的空虚白色像素被黑色像素填实。 ?????? ??? 图2:进行闭操作前的二值图像(左)和经过闭操作后的二值图像(右) 第三步:为了提取出图像中的每一个数字,可用泛洪(FloodFill)算法,从数字上的某个像素开始对数字进行填充,也可以按从左到右、从上到下的顺序扫描图像,找到一个黑色的像素开始填充,当填充结束时,所得到的填充区域就是图中某个手写阿拉伯数字的图像区域,这时,得到这个阿拉伯数字图像区域中像素坐标点对的集合,如图3所示。 ??? 图3:对第二步处理后的图像中的某个像素进行泛洪填充提取出的数字5的图像 第四步:通过第三步得到的某个数字的像素坐标点对的集合,通过骨架提取算法(见参考文献3)提取出手写数字的骨架,再将其骨架图像映射到某个8×8的0/1矩阵,矩阵中值为1的点表示手写数字骨架经过的矩阵中的点,0表示数字的背景,要求数字图像的每一行或每一列都至少有一个值为1,如图4所示。 ???? ??? 图4:数字5的骨架(左)和映射到8×8矩阵中的情况(图中灰色表示1,白色表示0) 可以想象出,矩阵的行列数越大,表示的骨架越精确,但对于手写阿拉伯数字的识别来说,取8×8的矩阵就足够了。如果要进行汉字手写体的识别,一般需要用64×64的矩阵或者128×128的矩阵。 第五步:对8×8的0/1矩阵进行内容分析。其中分析的方法主要有基于规则的方法、基于统计的方法和基于神经网络的方法,这三种方法将在本文的第3、4、5部分进行介绍。通过这些方法可以识别8×8的0/1矩阵中的数字,然后输出结果,转向第三步对图像中的其他数字进行识别。 3.?基于规则的方法 基于规则的方法主要是根据0/1矩阵的特征对矩阵所描述的图形表示的内容进行描述。在这里,我采用的是对矩阵的一行为一步进行特征判断。可以事先规定阿拉伯数字在矩阵中靠左上角显示,则有这样的规则:如果矩阵第一行中有两个值为1,而且这两个1之间有大于1个的0,则这个矩阵所表示的数字为4。用规则的方法进行识别时,可以采用规则树的结构进行判断,树的每一层对应矩阵某一行的规则,比如,对于n行矩阵,树的第k层对应矩阵的第k行的规则(1=k=n),如图5所示,树中的节点是“规则{满足规则的数字的集合}”的形式。 ? 图5:规则树 在运行该算法时,程序会从根节点(开始节点)开始根据规则沿着某条分支到达叶节点,这时候算法结束,输出节点集合中的元素。往往这样的集合中的元素个数为1个,也有时候是多个,比如手写体的数字1和7很像,当算法结束时,有可能会输出两个结果。 这个算法的时间复杂度正比于矩阵的行数,在本例中,因为矩阵有8行,则最多需要进行8步判断可以得出识别结果。可见,算法的复杂度与规则树的分叉数无关。而规则分的越细,分叉数越多,对象的区分度越好,搜索过程中对树的遍历深度越少,识别的正确率就越高。可见,定义一系列精密的规则是采用本方法进行模式识别的关键。 当然,也可以每一步按每列的规则进行判断,方法与上面的叙

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档