我试图使用pyautogui.locateCenterOnScreen()
在屏幕上找到图像的确切点,但每当返回坐标时,它似乎总是大两倍(即给出(2026, 722)
但实际上是(1013, 361)
)。我正在使用带有Retina Display的Macbook Pro 2016运行macOS Sierra。有什么建议如何解决这个问题?提前致谢。
Image Recognition Result Screenshot
我希望这个截图有助于解决我的问题。
最有可能的是,通过查看您正在使用的代码或模块,您可以解决这个问题。最有可能的问题是你以错误的方式解释某事。
如果您提供屏幕截图和要在其上找到的图像,那么无需猜测就可以更轻松地提供帮助。
MacBook也有这个问题。我只能认为它与MacBook及其发送屏幕信息的方式有关。
作为一种解决方法,我刚刚将坐标除以2。
Pyautogui使用screencaps在屏幕上找到东西的位置。带有视网膜显示屏的Mac上的问题是屏幕输出的像素数量是两倍,以利用系统更高的像素密度来获得更清晰的图像。因此,当您截取屏幕截图时,您会得到一个包含两倍数字的图像像素来自非视网膜Mac的相同图像。我目前正在研究是否可以调整图像大小并且仍然能够找到匹配(如果不使用cv2的模糊搜索则关闭一个像素并且不匹配)source