OpenCV for Python通道分离快速找出滑块验证码中缺口坐标

  • 声明:文章仅源自个人兴趣爱好,不涉及他用,侵权联系删。
    转载请注明:转自https://leejason.blog.csdn.net/article/details/106211451

OpenCV快速找出滑块验证码缺口坐标

  • 1.验证码及缺口图示例
    • 1.1 验证码(带缺口)
    • 1.2 缺口滑块
  • 2.灰度化
    • 2.1 验证码
    • 2.2 缺口图
  • 3.通道分离及其效果
  • 4.找出缺口位置
  • 5.滑动验证码

Opencv4 官方文档 : https://docs.opencv.org/4.2.0//
Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档

1.验证码及缺口图示例

1.1 验证码(带缺口)

OpenCV for Python通道分离快速找出滑块验证码中缺口坐标_第1张图片

1.2 缺口滑块

注意这里没有手动添加空行,是缺口图自带空白属性,滑块带有颜色,背景为白色
在这里插入图片描述

2.灰度化

2.1 验证码

OpenCV for Python通道分离快速找出滑块验证码中缺口坐标_第2张图片
自动阈值灰度化后,缺口图位置消失了,按照以往多中方法:
1.模板匹配:无法在大图中获取到缺口位置,所以次方法行不通;
2.就算完美截屏得到完整的没有缺口的验证码图片,色数对比也是行不通的…没法的话继续往下走,观察图片。

2.2 缺口图

带有颜色的滑块部分灰度化成功
在这里插入图片描述

3.通道分离及其效果

通道分离原理:
OpenCV for Python通道分离快速找出滑块验证码中缺口坐标_第3张图片
结合通道分离原理图,可以很好的理解,其实所谓的通道分离,就是将BGR三通道根据具体像素值分开。
实现通道分离代码:
OpenCV for Python通道分离快速找出滑块验证码中缺口坐标_第4张图片
分离各通道后及其效果:
都这效果了,咋处理应该比较清楚了!!!

4.找出缺口位置

将Alpha通道图片保存后,借助像素差异即可快速定位缺口位置
OpenCV for Python通道分离快速找出滑块验证码中缺口坐标_第5张图片

5.滑动验证码

借助识别出的坐标,设定滑动轨迹,滑动滑块。下面是测试的动态录屏,从效果来看,是非常good的。
OpenCV for Python通道分离快速找出滑块验证码中缺口坐标_第6张图片

当然了,此方法并不是适用一切验证码,滑块类型为alpha贴层的挺好使。

你可能感兴趣的:(OpenCV图像处理,爬虫Web,OpenCV滑块验证码,滑块验证码)