Поэтому я пытаюсь создать программу, которая перемещает мой курсор мыши и щелкает каждый черный пиксель, найденный на экране.
Я дошел до того, что могу ввести экран, увидеть его в окне и даже позволить мышке щелкнуть по черным пикселям.Без щелкающей части в программе я вижу изменения окон в реальном времени, но если я добавлю щелкающую часть, она перестанет обновляться.
import numpy as np
import pyautogui as py
from PIL import ImageGrab
import cv2 as cv
while(True):
# Record location of the program
screen_size = [1293, 171, 1647, 769]
screen = np.array(ImageGrab.grab(bbox=screen_size))
cv.imshow("window", cv.cvtColor(screen, cv.COLOR_BGRA2GRAY))
# Quit
if cv.waitKey(25) & 0xFF == ord("q"):
cv.destroyAllWindows()
break
for y in range(len(screen)):
for x in range(len(screen[y])):
if np.any(screen[y][x]) == 0:
py.click(x+1293,y+171)
Я бы хотел обновить экран или что-то в этом родеДопустим, он смотрит на видео с черными точками, может видеть их и нажимать на все из них.Теперь он просто застрял на начальном изображении и продолжает щелкать начальные точки, даже когда они больше не видны.
Это видео проблемы:
https://www.youtube.com/watch?v=QIrEnCgxe6E&feature=youtu.be
Здесь вы можете видеть, как оно отлично следует черным линиям, но окно, создаваемое OpenCV, не меняется, и когда я рисую поверх некоторых черных частей, оно все равно рисует поверх него.
Это окно, которое я вижуи как он преобразует цвета
![Window](https://i.stack.imgur.com/uZMTU.png)