当我尝试使用pyautogui
识别图片时,它只是说:None
import pyautogui
s = pyautogui.locateOnScreen('Dark.png')
print s
当我运行此代码时,图片显示在我的屏幕上,但仍然失败。
答案 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 。