1 / 22
文档名称:

字符识别.doc

格式:doc   大小:761KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

字符识别.doc

上传人:bjy0415 2018/1/10 文件大小:761 KB

下载得到文件列表

字符识别.doc

文档介绍

文档介绍:浙江大学宁波理工学院信息工程分院电子信息工程专业大作业

字符识别
摘要
本文主要讲述了如何用BP神经网络去识别图片上的字符。该系统主要处理晶振表面字符的识别。在识别之前要对图像进行一系列的处理,即图像的预处理。预处理主要包含,二值化、锐化、噪声去除、字符分割、字符归一化、字符骨架提取。经过预处理以便适合以后的处理。预处理后对图片上的字符进行特征提取,特征提取的方法很多,这里使用评价较好的十三特征提取法来进行特征提取。最后采用BP神经网络来对字符进行识别。
关键词:字符识别预处理特征提取 BP神经网络
系统设计方案
字符识别系统的实现过程中,分解成两个模块,即图像预处理模块和数字识别模块。其中图像像预处理块在对图像进行了一系列变换后把最后提取到的数字字符提交给数字识别模块,然后进行识别并给出结果。

图像预处理
BP神经网络字符识别
图像预处理
BP神经网络训练流程
BP神经网络
样本字符特征读入
训练得到权值矩阵
BP神经网络识别流程

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

通过公式可以看出梯度锐化可以让模糊的边缘变得清楚同时选择合适的阈值还可以减弱和消除一些细小的噪声。
算法分析及实现
N
Y
Y
初始化
开始
判断当前像素点是否为大于阀值
将此像素点变为中间变量的值
N
将此像素点变为白色
返回
判断当前像素点是否小于中间变量
计算梯度值
图 图像梯度锐化算法的流程图
经过梯度锐化处理后的图片如图2-2-1所示。
图2-2-1 梯度锐化后的图像
图像噪声去除
图像可能在扫描或者传输过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。
去噪方案分析
系统采用的是消除孤立点:八点领域的方法。
八点领域的方法:判断每个像素点周围八个点的像素,如果一点像素为黑色,而且它的周围的八个像素点都为白色,则让这点的像素变为白色点。
算法分析及实现
Y
N
Y
初始化
开始
判断当前像素点邻近的八点像素的值是否255*8
将此像素点变为白色
N
返回
判断当前像素点是否为白色点
图 图像去噪声算法的流程图
执行后的结果如图2-3-1所示。
图 2-3-1 去除离散杂点噪声后的图像
字符分割
我们所要识别的图像中一般会含有很多个字符,识别的时候要根据每个字符的特征来进行判断,所以还要进行字符分割的工作。这一步工作就是把图像中的字符独立的分割出来。
分割方案分析
第一步,先自下向上对图像进行逐行扫描直至遇到第一个黑色的象素点。记录下来。然后继续对图像进行扫