Python笔记-uiautomator2截图点击,OpenCV找图
Posted IT1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python笔记-uiautomator2截图点击,OpenCV找图相关的知识,希望对你有一定的参考价值。
对应的代码如下:
import time
import uiautomator2 as u2
import cv2
import numpy as np
d = u2.connect_usb("6e0bc87e")
displayWidth = d.info['displayWidth']
displayHeight = d.info['displayHeight']
if __name__ == '__main__':
d.screenshot('pic/1.png')
img_rgb = cv2.imread('./pic/1.png')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread('./template/finger2.png', 0)
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
threshold = 0.7
loc = np.where(res >= threshold)
for pt in zip(*loc[::-1]):
print(pt[0] / displayWidth, pt[1] / displayHeight)
d.click(pt[1] / displayHeight, pt[0] / displayWidth)
time.sleep(0.3)
pass
pass
结构如下:
其中template是目标文件,OpenCV使用的是matchTemplate进行模板匹配找图。
这里有个要注意的地方:
uiautomator2中click输入的是比例,需要用当像素的宽 / 屏幕宽,当前像素长 / 屏幕长。这种,
可以通过
d = u2.connect_usb("6e0bc87e")
displayWidth = d.info['displayWidth']
displayHeight = d.info['displayHeight']
这种方式获取屏幕的宽度和高度。
以上是关于Python笔记-uiautomator2截图点击,OpenCV找图的主要内容,如果未能解决你的问题,请参考以下文章
安卓自动化工具程序设计之[识别区域提取] python + uiautomator2 + Open CV
安卓自动化工具程序设计之[识别区域提取] python + uiautomator2 + Open CV
安卓自动化工具程序设计之[识别区域提取] python + uiautomator2 + Open CV