2017-04-25 39 views
0

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

Image Recognition Result Screenshot

Image to locate on screen

我希望这张截图将解决我的问题有所帮助。

回答

0

大多数情况下,您可以通过查看代码或正在使用的模块来解决问题。最可能的问题是你以错误的方式解释某些事情。

如果您提供屏幕截图和图像,您可以在不需要猜测的情况下提供帮助。

+0

嗨,我已编辑和添加屏幕截图。希望这可以帮助。谢谢 –

0

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

作为一种解决我刚才已经将坐标由2

0

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