其实pyautogui库有提供屏幕识别,但还是cv更高精确度【虽然优先杀鸡牛刀的感觉
TM_CCOEFF_NORMED方法进行模板匹配 得到整个当前页面与模板的最相似坐标,取中心点点击
直接上实例吧
# 给切屏一点时间 time.sleep(5)# 保存当前页面图片 img = pyautogui.screenshot() img.save('now.png')# 使用cv2读取图片 right = cv2.imread('./now.png') model = cv2.imread('./model.png')# 使用cv2的模板匹配 result = cv2.matchTemplate(right, model, cv2.TM_CCOEFF_NORMED) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)# 对于TM_CCOEFF_NORMED方法,最大值是最佳匹配位置 match_top_left = max_loc # (x, y) 左上角坐标# 计算中点坐标 center_x = match_top_left[0] + w // 2 center_y = match_top_left[1] + h // 2# 点击中点 pyautogui.click(center_x, center_y)