Python: 如何使用 pyautogui lib 在屏幕上找到图像?
Python: How can I find an image on screen by using: pyautogui lib?
密码是:
import pyautogui
startButton = pyautogui.locateOnScreen('start.png')
print startButton
或者:
import pyautogui
startButton = pyautogui.locateCenterOnScreen('start.png')
print startButton
输出为:
None
注意:根据 documentation。
似乎有正确的语法
注意:我也尝试过使用图像完整路径。图像在屏幕上并且没有被其他图像重叠。还安装了 pil 库。其他 pyautogui
功能可用(包括截图)
请让我知道我错过了什么。或者请推荐另一个用于图像检测的 Python 库。
None 表示 PyAutoGui 无法在屏幕上找到您的图像,确保 window 在 [ 处打开=12=]Start.png 是从中采样的,并且分辨率 [从您采样时和当前显示器] 是相同的。
我有一个非常类似的问题。对我来说,解决方案是使用 python 2.7 而不是 3.x。这可能是由于 python 3 的功能不太灵活。我更喜欢使用它并且 pyautogui 工作得非常好。在安装 pyautogui 时必须安装的 pillow 模块(或通常称为 PIL),但是使用 python 3.
时似乎功能较少
这是我为此使用的语法:
import pyautogui
start = pyautogui.locateCenterOnScreen('start.png')#If the file is not a png file it will not work
print(start)
pyautogui.moveTo(start)#Moves the mouse to the coordinates of the image
如果您同时使用多台显示器,它只会扫描 主要 一台。
此程序会扫描您屏幕的像素,并将像素与您的 PNG 文件进行颜色匹配。如果图像颜色(图像的阴影、图像正在改变颜色等)以任何方式发生变化,它将回复 "None"。
据我了解,可以通过将图像转为 RGB 来解决此问题。代码看起来像这样:
import pyautogui
from PIL import Image
im1=pyautogui.screenshot()
im2=pyautogui.screenshot("newone.png")
image.open("newone.png").convert("RGB").save("newone.png")
你需要把图片的整个路径放在pyautogui.locateCenterOnScreen()
里,像这样:
pyautogui.locateCenterOnScreen('C:/Users/User/Desktop/start.png')
这对我有用。您可能还想在该命令前添加 x_cord, y_cord =
,以便稍后使用它。
尝试安装 opencv 并降低信心。这对我有用
import pyautogui
startButton = pyautogui.locateOnScreen('start.png', confidence = 0.7)
print(startButton)
密码是:
import pyautogui
startButton = pyautogui.locateOnScreen('start.png')
print startButton
或者:
import pyautogui
startButton = pyautogui.locateCenterOnScreen('start.png')
print startButton
输出为:
None
注意:根据 documentation。
似乎有正确的语法注意:我也尝试过使用图像完整路径。图像在屏幕上并且没有被其他图像重叠。还安装了 pil 库。其他 pyautogui
功能可用(包括截图)
请让我知道我错过了什么。或者请推荐另一个用于图像检测的 Python 库。
None 表示 PyAutoGui 无法在屏幕上找到您的图像,确保 window 在 [ 处打开=12=]Start.png 是从中采样的,并且分辨率 [从您采样时和当前显示器] 是相同的。
我有一个非常类似的问题。对我来说,解决方案是使用 python 2.7 而不是 3.x。这可能是由于 python 3 的功能不太灵活。我更喜欢使用它并且 pyautogui 工作得非常好。在安装 pyautogui 时必须安装的 pillow 模块(或通常称为 PIL),但是使用 python 3.
时似乎功能较少这是我为此使用的语法:
import pyautogui
start = pyautogui.locateCenterOnScreen('start.png')#If the file is not a png file it will not work
print(start)
pyautogui.moveTo(start)#Moves the mouse to the coordinates of the image
如果您同时使用多台显示器,它只会扫描 主要 一台。
此程序会扫描您屏幕的像素,并将像素与您的 PNG 文件进行颜色匹配。如果图像颜色(图像的阴影、图像正在改变颜色等)以任何方式发生变化,它将回复 "None"。
据我了解,可以通过将图像转为 RGB 来解决此问题。代码看起来像这样:
import pyautogui
from PIL import Image
im1=pyautogui.screenshot()
im2=pyautogui.screenshot("newone.png")
image.open("newone.png").convert("RGB").save("newone.png")
你需要把图片的整个路径放在pyautogui.locateCenterOnScreen()
里,像这样:
pyautogui.locateCenterOnScreen('C:/Users/User/Desktop/start.png')
这对我有用。您可能还想在该命令前添加 x_cord, y_cord =
,以便稍后使用它。
尝试安装 opencv 并降低信心。这对我有用
import pyautogui
startButton = pyautogui.locateOnScreen('start.png', confidence = 0.7)
print(startButton)