最近在研究滑块验证码这一块,自然也玩了一把京东,发现之前的轨迹方程并不可用,需要自己慢慢调试,找到合适的参数。这种滑块认证的成功率不可能是100%,所以要写个循环,让认证失败的时候重新调用。
先看效果:
链接:https://v.qq.com/x/page/e0924ylqkir.html
(1) 滑块缺口距离识别
京东的验证码背景图和模板图大概各10张;缺口位置变化的
使用 cv2 库,用模板匹配,就是用来在大图中找小图,也就是说在一副图像中寻找另外一张模板图像的位置
import cv2
img = cv2.imread('a1.png',0)
template = cv2.imread('a2.png', 0)
h, w = template.shape[:2]
print("h = " ,h )
print("w = ", w)
res = cv2.matchTemplate(img, template, cv2.TM_CCORR_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
print("min_val = ", min_val)
print("max_val = ", max_val)
print("min_loc = ", min_loc)
print("max_loc = ", max_loc)
left_top = min_loc # 左上角
right_bottom = (left_top[0] + w