此篇文章解决的是某象的最大验证码,这个最大面积验证码,就是识别图中划线区域中最大面积的验证码,我一开始打算用深度学习去做,但是结合了网上的资料以及自己的想法来看,还是用opencv处理又快又较为准确,而且还不用准备深度学习的一些环境
我准备了大概几十张验证码,经过代码测试后,发现准确率几乎百分百,数据集如下图所示:
我先讲解识别的具体思路步骤,在每一步示例代码后跟上示例图,并在最后会放上全部代码,首先放上大部分图片最终的展示结果,图中的绿点代表结果。
识别步骤
- 图像转为灰度图
- 图像二值化
- 去除噪音
- 图像膨胀
- 找出图像最大区域,获取中心点
- 最终代码
图像转为灰度图
首先定义一个展示图像的函数, 展示一下原图
import cv2
import numpy as np
def cvshow(img):
cv2.imsh