好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

字符识别 (2).doc

22页
  • 卖家[上传人]:pu****.1
  • 文档编号:550555430
  • 上传时间:2022-12-24
  • 文档格式:DOC
  • 文档大小:761.59KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 浙江大学宁波理工学院信息工程分院电子信息工程专业大作业 字符识别 摘 要本文主要讲述了如何用BP神经网络去识别图片上的字符该系统主要处理晶振表面字符的识别在识别之前要对图像进行一系列的处理,即图像的预处理预处理主要包含,二值化、锐化、噪声去除、字符分割、字符归一化、字符骨架提取经过预处理以便适合以后的处理预处理后对图片上的字符进行特征提取,特征提取的方法很多,这里使用评价较好的十三特征提取法来进行特征提取最后采用BP神经网络来对字符进行识别关键词:字符识别 预处理 特征提取 BP神经网络 一、 系统设计方案字符识别系统的实现过程中,分解成两个模块,即图像预处理模块和数字识别模块其中图像像预处理块在对图像进行了一系列变换后把最后提取到的数字字符提交给数字识别模块,然后进行识别并给出结果1.1.1系统总流程 图像预处理BP神经网络字符识别1.1.2 图像预处理2.1.3 BP神经网络训练流程BP神经网络样本字符特征读入训练得到权值矩阵1.1.4 BP神经网络识别流程 BP神经网络字符特征读入识别并给出结果二、 图像预处理算法分析及实现2.1 图像的二值化处理图像的二值化就是把图像中的象素根据一定的标准分化成两种颜色。

      在系统中是根据象素的灰度值处理成黑白两种颜色图像的二值化有很多成熟的算法它可以采用自适应阀值法,也可以采用给定阀值法系统中采用的是给定阀值的方法2.1.1 阈值选取算法分析 图像的二值化有很多成熟的算法它可以采用自适应阀值法,也可以采用给定阀值法系统中采用的是给自适应阀值的方法其算法的实现是通过大律法经过大律法得到适合的阀值初 始 化统计灰度为n的像素的个数计算图像总平均灰度级计算C0 类产生的概率计算C0 组的均值计算类间方差求类间方差的最大值对应得k 值最大时的k即为所求阈值开 始返 回图 2.1.1 阈值选取的流程图2.1.2 算法分析及实现 图像二值化的算法实现,将大于阀值的像素点变为黑色,反之变为白色Y初 始 化开 始判断当前像素点是否为大于阀值 将此像素点变为黑色N将此像素点变为白色返 回图 2.1.2 图像二值化算法的流程图执行结果如图2-1-1、2-1-2所示图3-1-1 二值化前的图片图2-1-2 二值化后的图片2.2 图像的锐化由于需要处理的图像大多数的情况下字体模糊,对识别造成了一定的困难,所以有时我们要对图像进行锐化处理使模糊的图像变得清晰起来,同时可以对噪声起到一定的去除作用。

      2.2.1 锐化方案图像锐化的方法有很多,有一种是微分法 ,有一种是高通滤波法我们在这里所采用的梯度锐化的方法就属于微分法的一种在这里我们采用Roberts梯度算子对图像进行锐化Roberts梯度算子的定义:设原始图像上的点为定义在处的梯度矢量为:设一个判定阈值为,变化后的图像定义为: 通过公式可以看出梯度锐化可以让模糊的边缘变得清楚同时选择合适的阈值还可以减弱和消除一些细小的噪声2.2.2 算法分析及实现NYY初 始 化开 始判断当前像素点是否为大于阀值 将此像素点变为中间变量的值N将此像素点变为白色返 回判断当前像素点是否小于中间变量计算梯度值图 2.2.1 图像梯度锐化算法的流程图经过梯度锐化处理后的图片如图2-2-1所示图2-2-1 梯度锐化后的图像2.3 图像噪声去除图像可能在扫描或者传输过程中夹带了噪声,去噪声是图像处理中常用的手法通常去噪声用滤波的方法,比如中值滤波、均值滤波2.3.1 去噪方案分析系统采用的是消除孤立点:八点领域的方法 八点领域的方法:判断每个像素点周围八个点的像素,如果一点像素为黑色,而且它的周围的八个像素点都为白色,则让这点的像素变为白色点。

      2.3.2 算法分析及实现YNY初 始 化开 始判断当前像素点邻近的八点像素的值是否255*8将此像素点变为白色N返 回判断当前像素点是否为白色点图 2.3.1 图像去噪声算法的流程图执行后的结果如图2-3-1所示图 2-3-1 去除离散杂点噪声后的图像2.4 字符分割我们所要识别的图像中一般会含有很多个字符,识别的时候要根据每个字符的特征来进行判断,所以还要进行字符分割的工作这一步工作就是把图像中的字符独立的分割出来2.4.1 分割方案分析第一步,先自下向上对图像进行逐行扫描直至遇到第一个黑色的象素点记录下来然后继续对图像进行扫描找到下一个没有黑色点象素,重复上述过程,这样就找到图像每一行的最大高度范围本系统在逐行扫描时,要求每行间有一定的字符间距)第二步,在每一行的高度范围之内在自左向右逐列进行扫描,遇到第一个黑色象素时认为是字符分割的起始位置,然后继续扫描,直至遇到有一列中没有黑色象素,则认为这个字符分割结束,然后继续扫描,按照上述的方法一直扫描直至图像的最右端这样就得到了每个字符的比较精确宽度范围第三步,在已知的每个字符比较精确的宽度范围内,按照先自下向上对图像进行逐行扫描直至遇到第一个黑色的象素点。

      记录下来然后再由上向下对图像进行逐行扫描直至找到第一个黑色象素,这样就找到图像大致的高度范围的方法,分别进行自上而下和自下而上的逐行扫描来获取每个字符精确的高度范围2.4.1 分割算法分析及实现NYYY初 始 化开 始标记最高、最低点,将其放在数组中判断是否到图像最高点N行变量自加标记行中的左右点,将其放在数组中判断是否到图像最右边判断是否到最后一行返 回将分割出来的个矩形放入数组将每个矩形画出来图 2.4.1 字符分割算法的流程图进行字符分割后并画上边框的图像如图3-4-1所示图2-4-1 经过字符分割后并画上边框的图像2.5 图像归一化处理 因为扫描进来的图像中字符大小存在较大的差异,而相对来说,统一尺寸的字符识别的标准性更强,准确率自然也更高,标准化图像就是要把原来各不相同的字符统一到同一尺寸,在系统实现中是统一到同一高度、宽度2.5.1 图像缩放方法先得到原来字符的高度,跟系统要求的高度做比较,得出要变换的系数,然后根据得到的系数求得变换后应有得宽度再得到宽度高度之后,把新图像里面得点按照插值得方法映射到原图像中由于一次归一化没能做到真正的全部归一,所以在此提议最好归一化两次。

      2.5.2 图像归一化算法分析及实现初 始 化计算字符图像的高度和宽度根据规定的标准高宽计算缩放因子计算新图像的像素点映射到原图像的坐标利用临近插值法计算新图像像素点的灰度值开 始结 束图 2.5.2 归一化算法的流程图 归一化执行效果如图3-5-1所示图2-5-1 对图像进行归一化处理2.6 图像紧缩排序经过标准归一化处理后的各个字符在图像中的位置不定,要它进行特征提取时处理起来比较麻烦,所以要把归一化后的字符进行紧缩重排,以形成新的位图句柄,以方便下一步的特征提取的操作2.6.1图像紧缩排序方案将归一化以后的各个矩形排列在同一高度上,并且各字符矩形之间有一定相同的间隔由于系统程序支持多行的字符分割,因此在排序是对每一行的字符都要有相同的高度,而且由于程序的局限性,要求每行字符个数相同2.6.2 图像紧缩排序分析及实现YN初 始 化开 始返 回判断是否到最后一行 将图像移到相应位置行变量自加确定上下左右的位置图 2.6.2 图像紧缩排序算法的流程图图像紧缩排序程序执行效果如图2-6-1所示图 2-6-1 图像紧缩排序后的效果2.7 图像的细化处理 在自动文字识别系统中,采用细化方法计算图像的骨架是一个十分重要的预处理步骤。

      因为骨架包含了文字图像特征的最有效数字化信息,能对文字图像进行有效地描述因此对于细化,一方面要求去除多余的象素,一方面又要保留模式的基本结构和特征细化的算法有很多如Hilditch算法,Rosenfeld算法等2.7.1 图像细化算法分析 在此我们使用Hilditch算法,主要由于此算法的实现效果比较好在进行Hilditch算法之前,我们要对像素进行处理使黑色像素为1,白色像素为02.7.2 细化算法分析及实现 NNNYYNYYYYNY初 始 化开 始是否有可细化的像素点返 回判断当前像素点是否为数字的点 将此像素相邻的八个像素值存入缓存计算此点周围存在几个数字的点或已细化的数字点判断周围的像素是否存在背景点判断周围像素是否存在两个数字的点判断n3 ,n5 像素是否为已细化的像素判断n3 ,n5 像素是否存在数字的点细化此中心像素点图像是否循环完删除需要细化的点NN图 2.7.2 Hilditch细化算法的流程图对图像进行细化后的效果如图2-7-1所示图2-7-1 细化效果图三、字符特征提取 3.1 特征提取方案的分析 对于二值图像,字符可以用点阵、骨架和边缘来表示字符的多种特征可以从字符的这三种表示形式中提取。

      对于点阵形式表示的字符我们可以把整个字符点阵结构作为特征利用模板匹配或者神经网络分类器进行分类这些方法对于相对歪曲较小的字符是非常有效的如果待识别的字符图像发生几何畸变,比如缩放、偏斜或者旋转对于骨架形式表示的字符,使用细化字符并利用可变形的模板匹配算法进行字符识别可以取得较好的效果3.2 十三特征提取[2] 十三特征提取方法,即从每个字符中提取十三个特征点首先把字符平均分成八份统计每一份内黑色象素点的个数作为八个特征,如图4-2-1所示这里我们以字符“3”举例分别统计这八个区域中的黑象素的数目,可以得到八个特征图3-2-1 十三特征提取然后统计水平方向中间两列和竖直方向中间两列的黑色象素点的个数作为四个特征,也就是说,画四道线,统计线穿过的黑象素的数目可以得到四个特征示意图如图4-2-2所示图3-2-2 十三特征提取最后,将字符图像的全部黑色象素的数目的总和作为一个特征总共得到十三个特征3.2.1 十三提取方案分析 开 始初 始 化将图像分成3*3=9份,分别计算每份中数字像素的个数存入二维数组统计穿过水平线及垂直线的数字像素数目存入二维数组返 回图 4.2.1 特征提取的流程图3.2.2 提取算法的实现 开 始初 始 化读入训练数字图像的灰度数组将每个数字的特征分别存到缓存返 回图 3.2.2 提取算法的流程图四、BP。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.