PyAutoGUI定位命令返回错误的图像识别坐标

问题描述 投票:0回答:3

我试图使用pyautogui.locateCenterOnScreen()在屏幕上找到图像的确切点,但每当返回坐标时,它似乎总是大两倍(即给出(2026, 722)但实际上是(1013, 361))。我正在使用带有Retina Display的Macbook Pro 2016运行macOS Sierra。有什么建议如何解决这个问题?提前致谢。

Image Recognition Result Screenshot

Image to locate on screen

我希望这个截图有助于解决我的问题。

python python-3.x screen bots pyautogui
3个回答
0
投票

最有可能的是,通过查看您正在使用的代码或模块,您可以解决这个问题。最有可能的问题是你以错误的方式解释某事。

如果您提供屏幕截图和要在其上找到的图像,那么无需猜测就可以更轻松地提供帮助。


0
投票

MacBook也有这个问题。我只能认为它与MacBook及其发送屏幕信息的方式有关。

作为一种解决方法,我刚刚将坐标除以2。


0
投票

Pyautogui使用screencaps在屏幕上找到东西的位置。带有视网膜显示屏的Mac上的问题是屏幕输出的像素数量是两倍,以利用系统更高的像素密度来获得更清晰的图像。因此,当您截取屏幕截图时,您会得到一个包含两倍数字的图像像素来自非视网膜Mac的相同图像。我目前正在研究是否可以调整图像大小并且仍然能够找到匹配(如果不使用cv2的模糊搜索则关闭一个像素并且不匹配)source

© www.soinside.com 2019 - 2024. All rights reserved.