Нажмите на каждый круг на экране с помощью python

#python #automation #screen #screen-scraping #pyautogui

#python #автоматизация #экран #очистка экрана #pyautogui

Вопрос:

Итак, я пытаюсь создать скрипт на python, который делает снимок экрана несколько раз в секунду и находит оранжевые круги, а затем нажимает на них. Я использую для веб-сайта https://mouseaccuracy.com чтобы автоматически нажимать на каждый круг очень быстро. Вот код, который у меня есть до сих пор:

 import pyautogui
from time import *
color = (235, 133, 0)

while True:

 s = pyautogui.screenshot("screenshottest.png",region=(0,160, 1366, 768))
 for x in range(s.width):
  for y in range(s.height):
    if s.getpixel((x, y)) == color:
        pyautogui.click(x, y 160)  
  

Проблема в том, что он нажимает буквально на каждый пиксель, когда я хочу нажимать только на каждый круг, а не на каждый пиксель круга.

Вот как выглядят круги, на которые нужно щелкнуть: круги, на которые нужно щелкнуть

Итак, как мне заставить его нажимать на каждый оранжевый круг вместо каждого оранжевого пикселя? заранее благодарю

Комментарии:

1. Вы можете использовать круговое преобразование Хафа, чтобы получить круги. docs.opencv.org/3.4/d4/d70/tutorial_hough_circle.html

2. Я попробую, спасибо за ваш ответ.