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

12,322

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
Share:
12,322
undercoverincel
Author by

undercoverincel

Updated on June 15, 2022

Comments

  • undercoverincel
    undercoverincel about 2 years

    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.

  • undercoverincel
    undercoverincel almost 5 years
    Thank you sir, this is the answer I was looking for.
  • Alex Waygood
    Alex Waygood almost 3 years
    Hi! This seems to be what the other answer that's already been there for a while recommends. Could you maybe edit your answer to clarify how your answer is different?
  • JayRizzo
    JayRizzo about 2 years
    This worked for me too. using pip3.