base64图片转opencv并识别缺口位置 python
python 滑块验证码 opencv base64
·
网页请求到base64编码得图片
bg= "data:image/png;base64,R0lGODlheQA..."
tl = "data:image/png;base64,DAWDASASD..."
bg= bg.split(',')[1]
tl= tl.split(',')[1]
先去除头文字
def base64_to_image(base64_code):
# base64解码
img_data = base64.b64decode(base64_code)
# 转换为np数组
img_array = np.frombuffer(img_data, np.uint8)
# 转换成opencv可用格式
img = cv2.imdecode(img_array, cv2.COLOR_RGB2BGR)
return img
tl= base64_to_image(tl)
bg= base64_to_image(bg)
res = cv2.matchTemplate(bg, tl, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
print(min_val, max_val, min_loc, max_loc)
其中max_loc[0] 就是移动得X 坐标
如果看一下图标记
# 绘制方框
th, tw = tl.shape[:2]
tp = max_loc # 左上角点的坐标
br = (tp[0]+tw,tp[1]+th) # 右下角点的坐标
cv2.rectangle(bg, tp, br, (0, 0, 255), 2) # 绘制矩形
cv2.imwrite('out.jpg', bg) # 保存在本地
更多推荐
所有评论(0)