基于pyautogui的Python图像识别

基于pyautogui的Python图像识别,python,pyautogui,Python,Pyautogui,当我试图用pyautogui识别图像时,它只会说:None import pyautogui s = pyautogui.locateOnScreen('Dark.png') print s 当我运行此代码时,画面出现在屏幕上,但仍然失败。在我的系统上,如果画面出现在第二个监视器上,我会得到此信息。如果我将其移动到主屏幕,则图像定位成功 看起来多监视器功能尚未实现: 从 计划的未来功能(尚未计划的特定版本): 查找所有窗口及其标题的列表 单击相对于窗口的坐标,而不是整个屏幕 使在具有多个监视

当我试图用
pyautogui
识别图像时,它只会说:
None

import pyautogui
s = pyautogui.locateOnScreen('Dark.png')
print s

当我运行此代码时,画面出现在屏幕上,但仍然失败。

在我的系统上,如果画面出现在第二个监视器上,我会得到此信息。如果我将其移动到主屏幕,则图像定位成功

看起来多监视器功能尚未实现: 从

计划的未来功能(尚未计划的特定版本):

  • 查找所有窗口及其标题的列表
  • 单击相对于窗口的坐标,而不是整个屏幕
  • 使在具有多个监视器的系统上工作更容易
像素级完美

如果图像不是100%匹配,则无法找到该图像

例如,我裁剪了一个带有Opera扩展的区域。然后我用Firefox运行了我的脚本,pyautogui没有识别它

  • 不要让您的图像被屏幕捕获软件或扩展程序调整大小或压缩
  • 使用与保存屏幕截图相同的窗口/屏幕(大小、分辨率)

  • Pyautogui.locateOnScreen有一个参数,用于指定输入图像的“可信度”

    这样,pyautogui将处理轻微的像素偏差

    例如:

    import pyautogui
    s = pyautogui.locateOnScreen('Dark.png', confidence=0.9)
    print(s)
    



    有关更多信息,请参阅。

    只是一个注释。要使confidence关键字参数起作用,您需要安装opencv python包:`pip install opencv python'