Pyautogui - locateAllOnScreen возвращает местоположения дважды или более, а некоторые вообще нет

Итак, у меня есть короткая программа на Python, которая пытается найти все 1's на экране и выводит количество и расположение найденных чисел:

    Ones_list = list(pyautogui.locateAllOnScreen('path_to_png', confidence=0.90))

    if(len(Ones_list) != 0):
        print(str(len(Ones_list) + " Ones found:")
        print(*Ones_list, sep = ", ")

Но моя проблема сейчас в том, что pyautogui находит некоторые 1's дважды или даже чаще, а некоторые не перечислены.

Пример:

Пример:

Это возвращается:

16 Ones found:
Box(left=74, top=459, width=28, height=23), Box(left=75, top=459, width=28, height=23), 
Box(left=595, top=460, width=28, height=23), Box(left=596, top=460, width=28, height=23), 
Box(left=1638, top=461, width=28, height=23), Box(left=1638, top=462, width=28, height=23), 
Box(left=208, top=486, width=28, height=23), Box(left=1786, top=488, width=28, height=23), 
Box(left=1787, top=488, width=28, height=23), Box(left=482, top=540, width=28, height=23), 
Box(left=481, top=541, width=28, height=23), Box(left=482, top=541, width=28, height=23), 
Box(left=220, top=597, width=28, height=23), Box(left=221, top=597, width=28, height=23), 
Box(left=803, top=718, width=28, height=23), Box(left=803, top=719, width=28, height=23)

Но 1's не 16 и, глядя на координаты найденных изображений, я почти уверен, что не все 1's были найдены, просто некоторые считались чаще!

Как мне убедиться, что я нахожу все 1's только один раз?


person Strohhut    schedule 31.01.2020    source источник


Ответы (1)


Попробуйте поиграть с уверенностью. У меня был 0,75, но после увеличения до 0,8 или 0,9 он начал работать правильно.

Моя проблема также была похожа на вашу, но вместо этого locateAllOnScreen возвращал 4 местоположения для каждого.

person JoeyNoodle14    schedule 08.08.2020