PyAutoGui无法在全屏程序中找到图像

时间:2018-03-03 11:55:48

标签: python image coordinates pyautogui

我正在尝试将全屏游戏中的任务自动化作为QOL改进。这意味着从游戏的屏幕截图中读取一个值,如果满足我的设置条件,找到图像并右键单击它。

我在使用pyautogui locateCenterOnScreen函数时遇到问题,它总是返回None。

这是我遇到问题的部分:

import pyautogui
import time

pyautogui.size()
(1920, 1080)
pyautogui.FAILSAFE = True

time.sleep(3)

imageLocation = pyautogui.locateCenterOnScreen('myfilepath')

print (imageLocation)

延迟是为了确保我有足够的时间打开游戏。我已经使用pyautogui在游戏中截取屏幕截图,以便使用OCR从中读取,这似乎工作正常。但由于某种原因,我无法使图像识别工作。

我试图只使用一小部分始终保持静态的图像,甚至使用pyautogui来截取该区域,看看是否使用它自己生成的对象图像是可行的。我试过在窗口模式下玩游戏,但似乎没有任何效果。不确定它是否重要,但我已经为图像尝试了JPG和PNG文件格式。

谁能看到我哪里出错了?

What I'm trying to locate

What I'm using to locate it

当我打开PyCharm并搜索它时,它会起作用:

PyCharm

因此该功能似乎应该正常工作,但它无法在游戏中找到它。此外,我尝试使用灰度选项,但它仍然无效。

我真的很感激一些帮助。

提前致谢

齐格

1 个答案:

答案 0 :(得分:1)

如果有人发现这个并且遇到同样的问题,我通过使用OpenCV而不是pyautogui找到图像来解决这个问题。它可以完美地运行,如您在截屏中看到的那样。请享用!

OpenCV locating images in fullscreen game

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html