引言
目前互联网上很多网站都有滑块验证码验证。今天我要做的就是识别大部分滑块的缺口位置。
开始
现在的滑块缺口基本分为两种,一种是极验系的,提供原图和带缺口的背景图,另一种就是只有滑块图片和带缺口的背景图,网易系。
先感受一下它们的图片风格
极验系:
带缺口的背景图
完整背景图
网易系
带缺口的背景图
滑块图片
------------------------------------------------------华丽的分割线------------------------------------------------------
思路讲解
极验系
可以看到极验系的完整背景图和带缺口的背景图,色差比较大的就只有滑块部分,所以我们只需要对比两个图片的色差,一旦匹配到色差比较大的地方,即为滑块的开始位置。
网易系
可以看到网易的是没有所谓的背景图的,所以没法通过色差去识别缺口位置。
但是我发现如果用缺口图片的轮廓去匹配呢?是不是就可以了呢。可以看到带缺口的背景图上面的滑块缺口轮廓还是比较明显的。
下面看下经过处理的图片
/* 滑块轮廓 /
/ 带缺口的背景图 的轮廓 */
这样看起来是不是会好多了呢? 最后利用opencv的模板匹配,用滑块轮廓去背景图中匹配一下即可
看下结果吧!
看起来还不错! 刚好完全匹配上了。
网易系代码地址: https://github.com/crazyxw/SlideCrack/tree/master/slide_01
极验系代码地址: https://github.com/crazyxw/SlideCrack/tree/master/slide_02
整个项目地址: https://github.com/crazyxw/SlideCrack
收尾
如果此项目帮助你,并节省了你一笔打码费用,希望你可以请我喝杯咖啡
支付宝
微信: