Обработка изображений cv2 python
Меня волнует такой вопрос. Есть у меня маленький код:
import pyautogui
from PIL import ImageGrab
import cv2
import os
def screenGrab():
box = (330, 180, 1030, 540)
im = ImageGrab.grab(box)
im.save("111.png")
screenGrab()
image = cv2.imread("111.png")
low_cl = (240, 240, 240)
high_cl = (255, 255, 255)
find = cv2.inRange(image, low_cl, high_cl)
moments = cv2.moments(find, 1)
x_moment = moments['m10']
y_moment = moments['m01']
area = moments['m00']
x1 = int(x_moment / area)
y1 = int(y_moment / area)
def click_img(x,y):
pg.click(x,y)
click_img(330 + x1, 195+ y1)
Это бот, который ищет никнеймы мобов. Он выделяет только нужные цвета из диапазона. Работает все правильно. Но следующее действие, которое мне требуется - это клик по координатам найденных цветов(с сдвигами). Это тоже работает правильно до того момента, как под эти параметры не еще мобы (подбегают новые). Если мобов становится больше - moments изменяет значения и клики становятся хаотичными. Что можно придумать с этим? Я не знаю, как нужно это реализовать. Может, разбивать рабочую область на много частей и чтобы он отдельно цвета на них парсил?