网页请求到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) # 保存在本地

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐