vlambda博客
学习文章列表

81 数字验证码识别实例(一)

一、数字验证码识别(灰度和二值化)

1、程序

81 数字验证码识别实例(一)

2、程序解读

创建文字识别函数,将原图像转化为灰度图像,将灰度图像转化为二值图像。显示二值图像。转换后二值图像较为清楚,可直接进行文字识别。

将二值图像进行黑白色转换,转换为白底黑字。进行从array到image的转换,得到文本图像,根据文本图像进行文字识别。最后输出识别结果。 

3、运行结果

81 数字验证码识别实例(一)

识别结果非常准确。

二、数字验证码识别(灰度和二值化)

运行结果

81 数字验证码识别实例(一)

识别结果较为准确。

三、数字验证码识别(使用一次形态学开操作)

运行结果

81 数字验证码识别实例(一)

不能够直接识别。接下来增加形态学图像处理。

1、程序

81 数字验证码识别实例(一)

2、程序解读

创建文字识别函数,将原图像转化为灰度图像,将灰度图像转化为二值图像。显示二值图像。转换后二值图像混有噪点和斜线,不能直接进行文字识别。需要进一步进行形态学处理。

确定5*5的结构元素,对二值图像进行形态学开操作,显示操作后的二值图像。转换后二值图像虽然仍有噪点,但与文字并不重合,可直接进行文字识别。

将二值图像进行黑白色转换,转换为白底黑字。进行从array到image的转换,得到文本图像,根据文本图像进行文字识别。最后输出识别结果。 

3、运行结果

4、再换一张图片

使用确定2*2的结构元素