用pyautogui进行Python图像识别

时间:2016-02-28 09:20:30

标签: python pyautogui

当我尝试使用pyautogui识别图片时,它只是说:None

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

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

3 个答案:

答案 0 :(得分:3)

它的像素完美。

如果图像不是100%匹配,则

找不到图像。

例如我裁剪了一个带有Opera扩展名的区域 比我用firefox运行我的脚本而pyautogui不认识它。

1)不要让您的图像通过屏幕捕获软件或扩展程序调整大小或压缩。

2)使用保存屏幕截图的相同窗口/屏幕(大小,结果)。

答案 1 :(得分:2)

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

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

  

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

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

答案 2 :(得分:0)

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