Pyautogui 在屏幕上定位在 Windows 10 上花费了太多时间
Posted
技术标签:
【中文标题】Pyautogui 在屏幕上定位在 Windows 10 上花费了太多时间【英文标题】:Pyautogui Locate on Screen taking too much time on Windows 10 【发布时间】:2020-12-06 21:49:35 【问题描述】:我在 Windows 10 中写了下面Pyautogui
代码。
import pyautogui as pg
import time
time.sleep(3)
while True:
if pg.locateOnScreen('Music.png',grayscale=True):
pg.click(pg.locateCenterOnScreen('Music.png',grayscale=True))
break
我正在尝试在 Windows 10 的页面上定位图像,读取图像需要 27 秒
与我使用 Windows 7 时相比,它非常快,在 Windows 7 中它读取图像的速度非常快
我尝试定义特定区域以缩短搜索时间,但有时这些图像会从一个位置变化到另一个位置。
我应该进行什么设置,以便在 Windows 10 中它开始快速读取图像,或者我编写什么代码来使图像/在屏幕上定位功能更快。
【问题讨论】:
你有没有弄清楚是整个程序慢还是只是图像定位功能? 只是图像定位功能慢,休息截图等功能正常。早些时候它在 Windows 7 中很好,但是当我升级到 Windows 10 时,屏幕上的位置功能非常慢。 【参考方案1】:如果图像始终位于区域内,您可以将区域添加到代码中以使其运行得更快。我遇到了同样的问题,我的代码从 9 秒缩短到了 1 秒以下。 例如:
import time
time.sleep(3)
while True:
if pg.locateOnScreen('Music.png',region=(1000, 1000, 1000, 1000)grayscale=True): #by the region it is called #top, left, width, height
pg.click(pg.locateCenterOnScreen('Music.png',grayscale=True))
break
如果您指定该区域,它可能会起作用。 :) 也许再次检查文档。 https://pyautogui.readthedocs.io/en/latest/screenshot.html
【讨论】:
以上是关于Pyautogui 在屏幕上定位在 Windows 10 上花费了太多时间的主要内容,如果未能解决你的问题,请参考以下文章
Python pyautogui分辨率不同造成的图片定位与鼠标位置不一致的解决方法