【问题标题】:Documentation says to use a confidence parameter, but it throws an error文档说要使用置信度参数,但会引发错误
【发布时间】:2022-04-15 14:29:56
【问题描述】:

编辑以包含代码 sn-p。

我正在使用 pyautogui 开发应用程序。我想在桌面上匹配一个区域并单击它。调用 locateOnscreen 函数,我传递了包含要匹配的图像的文件名,以及一个引发错误的置信度参数。

import pyautogui as pag
button_login = pag.locateOnScreen("button_login.png", confidence=0.7)

File ".\test.py", line 23, in <module>
button_login = pag.locateOnScreen("button_login.png", confidence=0.7)
...
TypeError: _locateAll_python() got an unexpected keyword argument 'confidence'

安装的版本是 0.9.47。文档参考版本 1.0.0。我在任何地方都找不到这个版本,包括 pypi 和 github。

【问题讨论】:

  • 能否请您也展示一下您的代码?
  • 更新为包含 sn-p

标签: python pyautogui


【解决方案1】:

发生这种情况是因为函数 locateOnScreen 可以访问两个不同的函数 (source code):

  • _locateAll_opencv 如果安装了 cv2 / OpenCV

  • _locateAll_python 如果找不到 cv2 / OpenCV 或者您使用的 python3 的 cv2 版本低于 3

_locateAll_python 不处理confidence 参数。

因此,如果您需要此功能,可以尝试安装/更新 OpenCV:https://pypi.org/project/opencv-python/

pip install opencv-python

或者,如果您的系统上有 python 2 和 3:

pip3 install opencv-python

【讨论】:

  • 谢谢先生,这就是我要找的答案。
  • 这对我也有用。使用pip3
【解决方案2】:

pip install opencv-python

pyautogui 在后端使用 OpenCV 来计算置信度,因此需要在 Python 中安装它才能使用 Confidence 参数。祝你好运。

【讨论】:

  • 嗨!这似乎是已经存在了一段时间的其他答案所建议的。您能否编辑您的答案以阐明您的答案有何不同?
猜你喜欢
  • 2021-10-17
  • 2016-11-23
  • 2022-01-21
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多