您的位置:首页 > 其它

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

2011-07-14 14:10 239 查看
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++代码)
如果有需要可以去下载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: