手写数字识别的实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设
计
通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方
技 法,有较高的识别率
术
参
数
设计图像中不同数字的识别方法,可以先从两个数字的识别开始,尽量 设 实现多个不同数字的识别。设计中应该有自己的思想、设计体会 计
要
求
工 1.分析图像特征,查阅相关资料,根据图像的特征提出解决问题的思路。 作 2.查阅相关资料,学会 MATLAB 的编程方法 量 3.根据解决思路,编辑程序,根据调试结果,修改相应思路,找出最佳解决方
w=8, break
else if(sum1>618&&sum1<1342&&sum2>=0&&sum2<493&&sum3>=0&&sum3<804&&su m4>=0&&sum4<517)
w=9,
第 6 页 共8页
- 7 -燕 山 大 学 课 程 设 计 说 明 书
break else if(sum1>425&&sum1<1424&&sum2>=7&&sum2<778&&sum3>177&&sum3<506&&su m4>=0&&sum4<693) w=4, break end end end end end
关键字:
二值化 欧拉数 矩阵 matlab
第 1 页 共8页
- 2 -燕 山 大 学 课 程 设 计 说 明 书
目录
一、手写数字图像识别简介..................................................................................3 二、正文:手写数字图像识别的主要流程..........................................................3
还可以通过不断扩大样本范围的方法等。 通过上面的分析,我们可以看出,基于规则的方法,相对较为简单,比如手写阿拉 伯数字识别等识别对象较少的情况,有比较少的时间复杂度和比较高的识别正确率,这 种方法的关键在于规则的定义对模式是否有较高的区分度。样本库的规模越大,样本的 分布越接近于实际情况,数字识别的正确率越高。这次的课程设计,虽然只是研究手写 数字的识别,我们一个组的人相互相互讨论,交换意见和建议,并且包括了基础知识的 积累、理论的成型、MATLAB 语言编写和程序的使用、理论过程的 MATLAB 程序实现,和 期间程序的不断编写和调试,可以说让我们对于 MATLAB 的数字图像处理整个过程都有了 一个很完整和客观的认识。
2、 数字图像处理(Matlab 版),电子工业出版社,冈萨雷斯,2006; 考
3、 数字图像处理,电子工业出版社,R.C.Gonzales 阮秋崎等,2002; 资
4、 人工智能原理,人民邮电出版社,王文杰等,2003。 料
指导教师签字
基层教学单位主任签字 2012 年 6 月 29 日
燕山大学课程设计评审意见表 指导教师评语:
区域 1
区域 2
区域 3
区域 4
0
(551,611) (623,717) (363,574) (296,715)
1
(81,510) (318,510) (0,332)
0
2
(303,614) (674,739) (22,355) (398,450)
3
(363,676) (40,432) (377,505) (487,969)
案
周一 分析图像,查阅各种资料,提出可行的解决方案。 工
周二 熟悉 MATLAB 软件,学会软件的简单编程方法。 作
周三 根据可行的方法,编写程序,调试并修改方案。 计
周四 根据调试结果,选取最佳方案并完成设计论文。 划
周五 进一步完善设计论文,准备论文答辩。
1、 数字图像处理,电子工业出版社,贾永红,2003; 参
for j=1:1:128 if i1(i,j)==0
第 4 页 共8页
sum1=sum1+1; end end end for i=129:1:255
for j=1:1:128 if i1(i,j)==0
sum2=sum2+1; end end end for i=1:1:128
for j=129:1:255 if i1(i,j)==0
第 2 页 共8页
- 3 -燕 山 大 学 课 程 设 计 说 明 书
一、 手写数字图像识别简介
手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的 模式数较少(只有 0 到 9,10 个阿拉伯数字)、阿拉伯数字笔画少并且简单等。手写 阿拉伯数字的识别采用的方法相对于人脸识别、汉字识别等应用领域来说可以采用更为 灵活的方法,例如基于规则的方法、基于有限状态自动机的方法、基于统计的方法和基 于神经网络的方法等。本文的开始部分先对手写阿拉伯数字识别的整个处理流程进行论 述,而这个流程也可以用于图像中其他模式的识别。当然这个处理流程也不是唯一的, 可以根据不同的模式识别应用场景进行与之不同的预处理流程。
二、正文: 手写数字图像识别的主要流程
在本文中,对图像进行设计中,对图像进行了以下四步处理。 第一步:对源图像进行黑白二值化处理,如图 1。
第 3 页 共8页
- 4 -燕 山 大 学 课 程 设 计 说 明 书
第二步:对图像进行分块,将各个区域内的 0 值数目统计出来;
第三步:对各个样本进行统计,确定同一数值各个区域的 0 值数量范围;
燕Hale Waihona Puke Baidu大学
课程设计说明书
题目: 手写数字识别的实现
学院(系): 年级专业: 学 号: 学生姓名: 指导教师: 教师职称:
2012 年 6 月 29 日
燕山大学课程设计(论文)任务书
院(系):电气工程学院
基层教学单位:自动化仪表系
学号
学生姓名
09 自动化仪表 2 专业(班级)
班
设计题目 手写数字识别实现
4
(426,1423) (0,777) (178,505) (0,692)
5
(566,668) (339,606) (260,440) (348,533)
6
(314,771) (617,873) (0,314) (0,495)
7
(278,333) (0,376) (514,689) (31,490)
sum3=sum3+1; end end end for i=129:1:255
for j=129:1:255 if i1(i,j)==0
sum4=sum4+1; end end end
- 5 -燕 山 大 学 课 程 设 计 说 明 书
if(sum1>550&&sum1<611&&sum2>476&&sum2<718&&sum3>362&&sum3<573&&su m4>295&&sum4<716)
第一步................ .........................................................................................3 第二步..........................................................................................................4 第三步..........................................................................................................4 第四步..........................................................................................................4 三、程序..................................................................................................................4 四、总结体会..........................................................................................................7 五、参考文献.........................................................................................................,8 (如有不懂加 QQ453543115)
成绩: 答辩小组评语:
指导教师: 年 月日
成绩:
课程设计总成绩: 答辩小组成员签字:
评阅人:
年 月日
赵彦涛、吴飞、林洪斌、程淑红 2012 年 6 月 29 日
- 1 -燕 山 大 学 课 程 设 计 说 明 书
数字图像中手写数字识别的实现
摘要:
数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像 信号转换成数字信号并利用 计算机对其进行处理的过程。图像中手写阿拉伯数字 的识别和其他模式的识别所采用的方法是多种多样的。本文论述了图像中手写阿拉 伯数字的识别过程,并对手写数字识别的三种方法(基于规则的方法、基于统计的 方法和基于神经网络的方法)进行了简要介绍和分析,并通过实例重点对基于规则 的方法进行了描述。最后是对这些方法的简要评价。
第 7 页 共8页
- 8 -燕 山 大 学 课 程 设 计 说 明 书
在课设中我学习到了团队的作用,只有不断的学习,不断的去思考,不断的去寻求 答案,不断的去实践,你才会真的掌握一种技术。
end end end end end
四、总结体会
使用这种方法进行对手写数字的判定仍然存在着很大的局限性。在遇到手写字体书 写位置较偏、字体过大时,通过本程序被正确识别的机率就会大大降低。
常见的改进方案有:加入一个投影程序,将图片中的数字区域取出来;以该数字区 域为中心,按一定规格大小进行补点;然后再按照以上程序,进行分区统计。
8
(477,747) (743,1008) (318,559) (487,721)
9
(619,1341) (0,492) (0,803) (0,516)
第四步:编写相关程序,并测试.
三、程序
clc clear close all i1=imread('d:\数字\93.bmp'); [m,n]=size(i1); sum1=0; sum2=0; sum3=0; sum4=0; for i=1:1:128
w=0, break else if(sum1>80&&sum1<511&&sum2>317&&sum2<511&&sum3>=0&&sum3<333&&sum 4>=0&&sum4<=0)
w=1,
第 5 页 共8页
- 6 -燕 山 大 学 课 程 设 计 说 明 书
break else if(sum1>302&&sum1<615&&sum2>673&&sum2<839&&sum3>21&&sum3<356&&sum 4>397&&sum4<451)
w=2, break else if(sum1>362&&sum1<677&&sum2>39&&sum2<433&&sum3>376&&sum3<506&&sum 4>486&&sum4<970) w=3, break else if(sum1>565&&sum1<669&&sum2>338&&sum2<607&&sum3>259&&sum3<441&&su m4>347&&sum4<534) w=5, break else if(sum1>313&&sum1<772&&sum2>616&&sum2<874&&sum3>=0&&sum3<315&&su m4>=0&&sum4<496) w=6, break
else if(sum1>277&&sum1<334&&sum2>=0&&sum2<377&&sum3>513&&sum3<690&&su m4>30&&sum4<491)
w=7, break
else if(sum1>476&&sum1<748&&sum2>742&&sum2<1009&&sum3>317&&sum3<560&&s um4>486&&sum4<722)