数字识别--图像预处理(整个过程)

来源:互联网 发布:深入浅出带你学python 编辑:程序博客网 时间:2024/05/21 06:39

http://blog.csdn.net/yangfenghero/article/details/5327719

上一篇文章讲到数字识别的预处理准备阶段——归一化。现在来讲讲识别的预处理过程: 

1、 将彩色图像转换为灰度图,其中有三种方法:最大值法、平均值法和各比例法。

      (1) 最大值法:就是获取图像中的每一个像素值,并且分别获得像素的RGB个分量值(GetRValue(COLORREF pixel), GetGValue(COLORREF pixel), GetBValue(COLORREF pixel)),然后取三个分量的中最大的一个作为像素的分量值;

      (2)平均值法:取三个分量的平均值作为像素的分量值;

      (3)各比例法:设当前像素的三分量分别为R,G,B,然后利用如下公式得到转换后的像素分量值:0.30 * R + 0.59 * G + 0.11 * B。

 

2、将灰度图转换为黑白图:利用阈值转换算法。

 

3、利用梯度锐化:使得图像更加突出,以便分析。

     算法:当前点像素值与其下一个像素值之差的绝对值,加上当前点像素值与其下一行当前像素值之差的绝对值,如果结果大于阈值,则当前像素值置为此结果。

 

4、去除离散噪声:利用递归方法查找当前像素的八个方向是否存在黑色像素,我这里设置连续长度为15,如果用递归方法得到连续像素值大于15,则认为不是噪声,相反的则认为是噪声,则置为白色像素。

 

5、字符倾斜度调整:尽量保存每个字符的位置一致。

 

6、分割字符:找出每个字符的区域,用矩形记录,记录每个字符矩形数据。

 

7、字符归一化:根据图像预处理的准备阶段设置的归一化标准,把每个字符的区域进行归一化,使得所有字符区域矩形一样大,只是位置不一样罢了;

 

8、字符紧密排列:把所有字符紧密的排列,以备识别使用。

 

以上就是数字识别的整个图像预处理过程了。

 

我把数字识别-图像处理预处理阶段的整个过程代码都上传到CSDN资源上了,标题名为:数字识别-图像预处理阶段(VC++代码)
如果有需要可以去下载。

0 0