最近在用 Pyautogui + opencv 做一个自动化脚本,在识别桌面上的图标时总是识别不准。感觉微信和 windows 原生截屏都压缩严重(截屏部分已经很精准了,基本没有冗余空白区域),有没有什么工具或者方法让截屏不被压缩或者有没有比 pyautogui 更好的解决方案?
location = pyautogui.locateCenterOnScreen(img, confidence=0.9)
1
qq78660651 2023-06-21 17:35:35 +08:00
网易的 airtest ?
|
2
clockzhong OP @qq78660651 看起来好像不错,去试试先,谢谢
|
3
JimmyB 2023-06-21 17:52:15 +08:00
你是用 mac 吗
|
4
zhengsidao 2023-06-21 17:54:31 +08:00
Snipaste 这个不管是 win 还是 mac 都非常好用,很清晰
|
5
liantian 2023-06-25 02:24:07 +08:00 via iPad 1
|
6
penll 2023-06-25 10:33:42 +08:00
import mss
from PIL import Image import os class CaptureHelper: def screenshot(self, screen_idex, target_path = "_temp_capture_target_window.png"): with mss.mss() as sct: target_monitor = sct.monitors[screen_idex + 1] root_path = 'TODO:获取保存路径' save_path = os.path.join(root_path, "_temp", target_path) img = sct.grab(target_monitor) pil_image = Image.frombytes("RGB", img.size, img.bgra, "raw", "BGRX") pil_image.save(save_path)# cv2.imwrite(save_path, img) opencv 不支持中文路径 return save_path -------------- 我这边简单写的。支持多显示器。 注意:opencv 的保持不支持中文路径,所以,用 pillow 的保存 |