'Documentation says to use a confidence parameter, but it throws an error

Edit to include code snippet.

I am developing an app with pyautogui. I want to match a region on the desktop and click it. Calling the locateOnscreen function, I pass the filename containing the image to match, along with a confidence parameter, which throws an error.

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'

Installed version is 0.9.47. The docs refer to version 1.0.0. I can't find this version anywhere including pypi and github.



Solution 1:[1]

This happens because the function locateOnScreen can reach two different functions (source code):

  • _locateAll_opencv if cv2 / OpenCV is installed

  • _locateAll_python if cv2 / OpenCV cannot be found or if you are using python3 with a version of cv2 inferior to 3

And _locateAll_python doesn't handle the confidence parameter.

So you can try to install/update OpenCV if you need this feature : https://pypi.org/project/opencv-python/

pip install opencv-python

Or if you have python 2 & 3 on your system:

pip3 install opencv-python

Solution 2:[2]

pip install opencv-python

pyautogui uses OpenCV in the back end to calculate confidence, and therefore it needs to be installed in Python before you can use the Confidence argument. Good luck.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 JayRizzo
Solution 2