验证码有干扰线,先用了 8 邻域降噪的方法,没有效果,各位有什么好的方法吗?样例图片地址: https://s2.ax1x.com/2019/11/23/Mqdla6.jpg
1
dearmymy 2019-11-24 01:11:54 +08:00
如果单纯为了识别。
1,找个打码网站充值 50 块 2,收集几千个样本 3,随便找个机器学习框架学习下。 |
2
Marsss 2019-11-24 11:08:56 +08:00
cnn 之类的分类算法是挺简单粗暴的,但是如果是之前没有了解过,对于这种简单的验证码,学习成本略高了点,不如自己写算法分割,用 sklearn 这种会轻松很多。先多观察样本规律,根据规律来写算法。比如你这里颜色都一样,先统计像素的直方图,调试选取目标像素,分分钟去除干扰线。然后又没有粘连,就比较好切。一旦好切,也就意味着这验证码废了。最后建议,注意合规。
|
3
42alex OP @Marsss 这个验证码位置不规律,没法切割,用机器学习的方法的话,成本有点大,我现在换了个思路,就是验证码与干扰线的颜色不同,然后对这两种颜色进行区分,然后将非验证码的的点都重置为背景色,效果会好一些,再使用 pytesseract 进行识别,识别率比之前高一些,效果: https://s2.ax1x.com/2019/11/24/MLhva8.jpg
|
5
heyhumor 2019-11-24 20:20:35 +08:00
用 opencv 可以提取水平线过滤掉,具体方法不太记得了。。。
|
7
aaronhua 2019-11-28 10:02:45 +08:00
试过跟着这个博客做,可以过滤干扰线。https://www.cnblogs.com/qqandfqr/p/7866650.html
|