Я уже полноть написал бота но есть проблемка. Когда он начинает кликать по кружкам, то бот делает это рано или поздно чем положено. Хотя я подоброл лучше всего скриншот(он в конце). Как это пофиксить, чтобы он нажимал когда этого требует игра?
Вот код с компьютерным зрением
import numpy as np
import cv2
import pyautogui
import time
from PIL import ImageGrab
def click(x, y):
pyautogui.moveTo(x, y)
pyautogui.mouseDown(button='left')
time.sleep(0.01)
pyautogui.mouseUp(button='left')
def finding(filename):
img = ImageGrab.grab(bbox=(280, 22, 1637, 1079))
img_bgr = np.array(img)
img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread(filename, 0)
w, h = template.shape[::-1]
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
threshold = 0.5
loc = np.where(res >= threshold)
for pt in zip(*loc[::-1]):
cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
for p in img_rgb:
x = pt[0] + w * 1.7
y = pt[1] + h / 1.7
pyautogui.moveTo(x, y)
click(x, y)
finding('note.png')
time.sleep(10)
click(963, 535)
while True:
finding('note.png')
А вот note.png: