【问题标题】:Python image recognition with pyautogui使用 pyautogui 进行 Python 图像识别
【发布时间】:2016-06-11 09:09:42
【问题描述】:

当我尝试使用 pyautogui 识别图像时,它只会显示:None

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

当我运行此代码时,图片在我的屏幕上,但仍然失败。

【问题讨论】:

    标签: python pyautogui


    【解决方案1】:

    Pyautogui.locateOnScreen 有一个参数,用于指定您对输入图像的“置信度”。

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

    例如:

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



    如需更多信息,请参阅https://buildmedia.readthedocs.org/media/pdf/pyautogui/latest/pyautogui.pdf

    【讨论】:

    • 只是一个注释。为了使信心关键字参数起作用,您需要安装 opencv-python 包:`pip install opencv-python"
    【解决方案2】:

    像素完美。

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

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

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

    【讨论】:

      【解决方案3】:

      在我的系统上,如果图片在第二台显示器上,我会得到这个。如果我将它移动到主屏幕,则图像定位成功。

      看起来多显示器功能尚未实现: 来自http://pyautogui.readthedocs.org/en/latest/roadmap.html

      计划的未来功能(具体版本尚未计划):

      • 查找所有窗口及其标题的列表。
      • 单击相对于窗口的坐标,而不是整个屏幕。
      • 使在具有多台显示器的系统上工作更轻松。
      • ...

      【讨论】:

        猜你喜欢
        • 2017-04-18
        • 1970-01-01
        • 2011-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-13
        • 1970-01-01
        • 2016-04-14
        相关资源
        最近更新 更多