import pyautogui
import time
import random
import cv2
bathimage_path = 'bathimage_path' #传入底图保存的路劲,如:C:\Users\Administrator\Desktop\bath.png
sliderimage_path = 'sliderimage_path' #传入滑块图片保存的路劲,如:C:\Users\Administrator\Desktop\slider.png
slider_img_path = 'slider_img_path' #滑动的按钮截图使用windows自带的截图工具命名为png格式
def match(bg, tp)->(int):
'''
bg: 背景图片
tp: 缺口图片
'''
# 读取背景图片和缺口图片
bg_img = cv2.imread(bg) # 背景图片
tp_img = cv2.imread(tp) # 缺口图片
# 识别图片边缘
bg_edge = cv2.Canny(bg_img, 100, 200)
tp_edge = cv2.Canny(tp_img, 100, 200)
# 转换图片格式
bg_pic = cv2.cvtColor(bg_edge, cv2.COLOR_GRAY2RGB)
tp_pic = cv2.cvtColor(tp_edge, cv2.COLOR_GRAY2RGB)
# 缺口匹配
res = cv2.matchTemplate(bg_pic, tp_pic, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) # 寻找最优匹配
# 绘制方框
th, tw = tp_pic.shape[:2]
tl = max_loc # 左上角点的坐标
# 返回缺口的X坐标
return tl[0]
def do_python_business(self) -> (bool, str): # 函数返回2个值,成功、失败标志及相关描述
print('开始执行..')
distance=match(bathimage_path,sliderimage_path)
print('开始移动...')
time.sleep(5)
x, y = pyautogui.locateCenterOnScreen(slider_img_path)
print('开始移动...')
pyautogui.moveTo(x, y)
# tween 做渐变速运动
pyautogui.dragTo(x + distance, y-20, duration=5,tween=pyautogui.easeInOutQuad)
do_python_business()
06-07
353
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-26
215
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交