字符分割大作业字符分割大作业.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
字符分割大作业字符分割大作业

图表目录图表 1测试样本部分二值图像4图表 2训练样本部分二值图像4图表 3分割后的test图像5图表 4原始test图像9图表 5识别的结果9图表 6识别的结果10图表 7两级分类器的构造11字符识别1实验目的根据所提供的手写字母表样本进行训练,然后实现对test图像中的手写字母进行识别,输出识别后的结果。2实验方法实验流程图:输入模块 预处理模块 训练识别模块本实验首先对训练样本图像和测试样本图像进行预处理,然后进行归一化,再提取图像像素的空间位置信息作为特征向量,构成训练集和测试集,然后再用BP神经网络对样本进行训练,并对测试集合进行识别。具体每个步骤的详细过程见下文。2.1预处理预处理模块是字符识别中非常重要的模块,直接影响到后续的字符识别的准确率,他能够减少干扰,通过对图像的处理,将图像变成利于后续处理的图像。图像处理主要包括图像采集、图像变化、图像增强、图像恢复、图像重建、图像编码等技术[1]。由于本实验是对字符的识别,所以主要采用了图像灰度化,二值化、膨胀,腐蚀等形态学技术。2.1.1灰度化使用了函数rgb2gray();它将一幅彩色图像变成灰度图像,由于手写字符本身就是灰度图像,这一步其实也可以省略。2.1.2二值化将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像[1]。本实验分别使用im2bw()函数对测试样本和训练样本进行二值化,得到二值化的图像如下图所示:图表1测试样本部分二值图像图表2训练样本部分二值图像2.1.3膨胀、填充膨胀就是使用算法,将图像的边缘扩大些。作用就是将目标的边缘或者是内部的坑填掉,这样有利于下一步的图像分割的边缘提取。由于手写字符存在笔画间的不连续,所以对前面处理得到的二值图像需要进行膨胀和填充。本实验使用以下函数实现上述操作,imdilate();imfill();分别实现对图像的膨胀和填充。2.2字符分割图像分割是图像处理中的关键问题,它把图像分成若干个按照一个或几个特征均匀分布的区域,得到的图像称为分割图像,表示的是区域信息。借助集合概念对图像分割可以给出如下图像分割的定义:令集合R代表整个图像区域,对R的分割可以看成将R分成N个满足以下五个条件的非空子集:条件①指出在对一幅图像的分割应将图像中的每个像素都分进某个子区域中;条件②指出在分割结果中各个子区域是互补重叠的;条件③指出在分割结果中每个子区域都有独特的特性;条件④指出在分割结果中,各个子区域具有不同的特性,没有共同元素;条件⑤指出分割结果中同一个子区域内的像素应该是连通的。不同的学者对图像分割有不同的分类,主要的有基于灰度图像的分割法,基于区域的分割方法,基于边缘的分割方法,基于数学形态学的分割方法,基于特定理论的分割方法。本实验处理的图像比较特殊,是字符图像,每幅图像的排列都非常规整,所以将图像分成很多个小区域,调用regionprops()函数测量图像每个区域的属性。由于图像的规则性,图像每个小区域内的重心将图像分成很多个小区域。这种方法比较简单。得到的小区域图如下:图表3分割后的test图像同样的方法对各个训练样本进行分割,并保存起来,得到训练样本的图像集合2.3特征提取该模块的功能是将训练图像和待测图像的特征进行提取[2][3],以用于后面的神经网络对其进行分类和识别。由于训练集和测试集的规模很小,而且识别的对象是英文字母,并且字母没有太大角度的倾斜,因此直接使用字母的像素的空间位置信息作为特征是一个很好的选择,实验结果也证明了这一点。2.3.1归一化由于本实验是提取图像的像素的空间信息作为特征信息,所以首先必须将所有图像都归一化大小。首先读入每个小区域的图像,由于先前分割出来的图像有留白,所以首先用一个矩形将图像中有字母的地方框出来,然后将框出来的图像归一化成边长为一的32*32的小格。归一化部分代码如下:[i,j]=find(x==0);%查找像素为黑的点的坐标imin=min(i);imax=max(i);jmin=min(j);jmax=max(j);x1=x(imin:imax,jmin:jmax); %将图像强制转化为32*32的图像rate=32/max(size(x1));x1=imresize(x1,rate); %将图像转化为标准的32*32的图像 [i,j]=size(x1); i1=round((32-i)/2); j1=round((32-j)/2);p(i1+

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档