识别滑块缺口位置

引言

目前互联网上很多网站都有滑块验证码验证。今天我要做的就是识别大部分滑块的缺口位置。

开始

现在的滑块缺口基本分为两种,一种是极验系的,提供原图和带缺口的背景图,另一种就是只有滑块图片和带缺口的背景图,网易系。

先感受一下它们的图片风格

极验系:
带缺口的背景图
识别滑块缺口位置_第1张图片
完整背景图
识别滑块缺口位置_第2张图片
网易系
带缺口的背景图
在这里插入图片描述
滑块图片
滑块图片
------------------------------------------------------华丽的分割线------------------------------------------------------

思路讲解

极验系
可以看到极验系的完整背景图和带缺口的背景图,色差比较大的就只有滑块部分,所以我们只需要对比两个图片的色差,一旦匹配到色差比较大的地方,即为滑块的开始位置。

网易系
可以看到网易的是没有所谓的背景图的,所以没法通过色差去识别缺口位置。
但是我发现如果用缺口图片的轮廓去匹配呢?是不是就可以了呢。可以看到带缺口的背景图上面的滑块缺口轮廓还是比较明显的。
下面看下经过处理的图片
/* 滑块轮廓 /
在这里插入图片描述
/
带缺口的背景图 的轮廓 */
在这里插入图片描述
这样看起来是不是会好多了呢? 最后利用opencv的模板匹配,用滑块轮廓去背景图中匹配一下即可
看下结果吧!
在这里插入图片描述
看起来还不错! 刚好完全匹配上了。

网易系代码地址: https://github.com/crazyxw/SlideCrack/tree/master/slide_01
极验系代码地址: https://github.com/crazyxw/SlideCrack/tree/master/slide_02
整个项目地址: https://github.com/crazyxw/SlideCrack

收尾

如果此项目帮助你,并节省了你一笔打码费用,希望你可以请我喝杯咖啡

支付宝

微信:

你可能感兴趣的:(opencv,验证码,缺口识别,python,opencv)