手写数字识别的流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

手写数字识别的流程:

1.对所给出的图像进行预处理使得方面后面的数字识别操作,包括图像的二值化等2.对图像进行图像的形态学操作,让数字变得闭合,方便进行数学形态学的计算3.用鼠标提取每个数字的图像,并对每个数字图像作出包含连通区域的矩阵

4.根据数字的欧拉数和每个数字的其他不同特征识别数字

5.最后把识别的数字保存起来

下面分别进行论述:

1.数字图像的二值化

原图如下:

二值化处理结果如下:

2.图像的形态学操作,让数字中未闭合的数字6、8、9闭合

处理后的图像如下:

3.用鼠标提取每个数字的图像,并对每个数字图像作出包含连通区域的矩阵

在提取图像时要注意,尽量用最小的矩形包括这个数字,并且不要遗漏数字的任何部分在外面,这一步对后面的识别至关重要,会非常影响数字的识别。提取出来二值图像后,并把它变换成一个数字矩阵,这个矩阵会对图像中不同的连通区域作出不同的标记,这样方便下面进行数字矩阵的特征提取。

4.根据数字的欧拉数和每个数字的其他不同特征识别数字

a.识别数字8,只有8的欧拉数为2

b.识别数字1,其离心率最大(>0.9),并且它的最小外包矩形的长度大于宽度的两倍

c.对数字6,其欧拉数为1,用一条水平扫描线从上半部分进行扫描,有两个交点

d.对数字4,其欧拉数为1,用距离右边框几个象素的垂直线与它相交,有两个象素,即可识别

e.对数字0,其欧拉数为1,用一条水平扫描线从中间与它相交,有两个交点,用一条垂直扫描线从中间与它相交,也有两个交点,即可识别

f.对数字9,其欧拉数为1,用一条水平扫描线从下半部分进行扫描,有两个交点,与6相反

g.对数字2,其欧拉数为0,用距上边框十几个象素的水平线与它相交,有4个交点

h.对3,用距中间位置的垂直线与它相交,有3个交点,且欧拉数为0

i.对数字7,其欧拉数为0,从中间位置垂直扫描,有两个交点

j.剩下的就是数字5了

试验结果分析:

总共进行了五组的试验,试验结果如下:

b =1234567895

b =1534567890

b =5534567855

b =1535557895

b =1555565895

从以上的试验结果可以看出:

如果用鼠标提取图像时,仔细小心的提取,会取得不错的试验效果,但是对于数字2和数字0,往往会有一定的误差。

后三组试验,在提取数字时有意的将数字区域扩大或者缩小,可以看出这样对试验结果的影响很大,会造成很大的误差,这种识别方法的识别率大大降低。

相关文档
最新文档