3

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

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

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

4

3 回答 3

5

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

于 2019-05-07T17:48:24.733 回答
4

这是完美的像素。

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

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

  1. 不要让您的图像被屏幕捕获软件或扩展程序调整大小或压缩。
  2. 使用与保存屏幕截图的位置相同的窗口/屏幕(大小、分辨率)。
于 2017-06-28T20:10:23.487 回答
3

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

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

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

  • 查找所有窗口及其标题的列表。
  • 单击相对于窗口而不是整个屏幕的坐标。
  • 使在具有多个显示器的系统上工作变得更容易。
  • ...
于 2016-03-01T13:08:01.680 回答