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

数字图像中手写阿拉伯数字的识别_IT168文.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像中手写阿拉伯数字的识别 班级:0545504229 姓名:谈敏杰 1. 引言 数字图像处理技术是一个跨学科的领域。随着计算机科学技术的不断发展,图像处理和分析逐渐形成了自己的科学体系,新的处理方法层出不穷,尽管其发展历史不长,但却引起各方面人士的广泛关注。首先,视觉是人类最重要的感知手段,图像又是视觉的基础,因此,数字图像成为心理学、生理学、计算机科学等诸多领域内的学者们研究视觉感知的有效工具。其次,图像处理在军事、遥感、气象等大型应用中有不断增长的需求手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的模式数较少(只有09,10个阿拉伯数字)、阿拉伯数字笔画少并且简单等。手写阿拉伯数字的识别采用的方法相对于人脸识别、汉字识别等应用领域来说可以采用更为灵活的方法,例如基于规则的方法、基于有限状态自动机的方法、基于统计的方法和基于神经网络的方法等。目前比较流行的方法是基于神经网络的方法和基于统计的方法,但无论使用哪种方法,也需要通过基本的图像处理技术来对图像进行预处理,才能获得这些方法的输入信息。所以,本文的开始部分先对手写阿拉伯数字识别的整个处理流程进行论述,而这个流程也可以用于图像中其他模式的识别。当然这个处理流程也不是唯一的,可以根据不同的模式识别应用场景进行与之不同的预处理流程。第一步:对源图像进行黑白二值化处理,如图1。图1:图像()和处理后的图像() 第二步:对第一步处理后的图像进行形态学图像处理中的开运算,然后再进行闭运算(如图2),先进行开运算的目的是去除图像中的离散黑色像素点,再进行闭运算可以填补手写数字中的裂缝。为了突出变换前后的区别,图2中将源图像中的一部分放大显示,可以看出,经过处理,数字上面横线中的空虚白色像素被黑色像素填实。图2:进行闭操作前的二值图像(左)和经过闭操作后的二值图像(右) 第步:通过第三步得到的某个数字的像素坐标点对的集合,通过骨架提取算法提取出手写数字的骨架,再将其骨架图像映射到某个8×8的0/1矩阵,矩阵中值为1的点表示手写数字骨架经过的矩阵中的点,0表示数字的背景,要求数字图像的每一行或每一列都至少有一个值为1,如图所示。 ??????? 图:数字5的骨架(左)和映射到8×8矩阵中的情况(图中灰色表示1,白色表示0)int n, s, t; int i, j; int r; int[,] a = new int[200, 200]; int[,] b = new int[200, 200]; Color c = new Color(); Bitmap box1 = new Bitmap(pictureBox1.Image); n = 0; s = 0; for (i = 1; i pictureBox1.Width; i++) { for (j = 1; j pictureBox1.Height; j++) { c = box1.GetPixel(i, j); r = c.R; if (r == 255) { a[i, j] = 0; } else { a[i, j] = 1; box1.SetPixel(i, j, Color.Black); } } } for(t=0;t=8;t++) { for(i=2;ipictureBox1.Width-2;i++) { for(j=2;jpictureBox1.Height-2;j++) { n=a[i-1,j]+a[i-1,j-1]+a[i-1,j+1]+a[i,j-1]+a[i,j+1]+a[i+1,j-1]+a[i+1,j]+a[i+1,j+1]; if

文档评论(0)

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

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

1亿VIP精品文档

相关文档