博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python五行代码解决滑块验证的缺口距离识别,破解滑块验证 ...
阅读量:7209 次
发布时间:2019-06-29

本文共 968 字,大约阅读时间需要 3 分钟。

目前网上关于滑块的缺口识别的方法很多,但是都不极简,看起来繁杂,各种算法的都有,有遍历的有二分法的,今天写个最简单,准确率最高的。

直接看代码:

def FindPic(target, template):     """     找出图像中最佳匹配位置     :param target: 目标即背景图     :param template: 模板即需要找到的图     :return: 返回最佳匹配及其最差匹配和对应的坐标     """     target_rgb = cv2.imread(target)     target_gray = cv2.cvtColor(target_rgb, cv2.COLOR_BGR2GRAY)     template_rgb = cv2.imread(template, 0)     res = cv2.matchTemplate(target_gray, template_rgb, cv2.TM_CCOEFF_NORMED)     value = cv2.minMaxLoc(res)

使用cv2库,先读取背景图,然后夜视化处理(消除噪点),然后读取模板图片,使用cv2自带图片识别找到模板在背景图中的位置,使用minMaxLoc提取出最佳匹配的最大值和最小值,返回一个数组形如(-0.3, 0.95, (121,54),(45, 543))元组四个元素,分别是最小匹配概率、最大匹配概率,最小匹配概率对应坐标,最大匹配概率对应坐标。

我们需要的是最大匹配概率坐标,对应的分别是x和y坐标,但是这个不一定,有些时候可能是最小匹配概率坐标,最好是根据概率的绝对值大小来比较。

滑块验证较为核心的两步,第一步是找出缺口距离,第二步是生成轨迹并滑动,较为复杂的情况下还要考虑初始模板图片在背景图中的坐标,以及模板图片透明边缘的宽度,这些都是影响轨迹的因素。

2019-03-17-22_10_58.png

------------------------------

ID:Python之战

|作|者|公(zhong)号:python之战 

专注Python,专注于网络爬虫、RPA的学习-践行-总结

喜欢研究技术瓶颈并分享,欢迎围观,共同学习。

独学而无友,则孤陋而寡闻!

--------------------------

转载地址:http://ocgum.baihongyu.com/

你可能感兴趣的文章
Odoo 二次开发教程(三)-第一个Model及Form、Tree视图
查看>>
Entity Framework Core 1.1 升级通告
查看>>
MySQL:procedure, function, cursor,handler
查看>>
委托的多种写法
查看>>
关于优酷视频代码播放的若干事情……
查看>>
Dockerfile详解(三)
查看>>
python 气质
查看>>
pop3
查看>>
stm32 IAP + APP ==>双剑合一
查看>>
使用SqlBulkCopy类实现导入excel表格
查看>>
Infor SyteLine如何快速锁定用户
查看>>
C++ I/O
查看>>
(hdu step 6.3.1)Strategic Game(求用最少顶点数把全部边都覆盖,使用的是邻接表)
查看>>
1.内存
查看>>
在WPF中使用WinForm控件方法
查看>>
Linux Kernel 3.0.50/3.2.33/3.4.17/3.6.5
查看>>
在Oracle中查询存储过程和函数
查看>>
关于对象序列化json 说说
查看>>
设置div滚动条
查看>>
git常用命令
查看>>