Olá desculpa mas sou novo no opencv e novo no Python nao vou saber explicar da melhor forma mas vamos la
import cv2 as cv
import numpy as np
import os
from PIL import ImageGrab
import pyautogui
while(True):
printscreen_pil = ImageGrab.grab(bbox = (0, 40, 400, 340))
printscreen_numpy = np.array(printscreen_pil.getdata(), dtype =
'uint8').reshape((printscreen_pil.size[1], printscreen_pil.size[0], 3))
cv.imshow('window', printscreen_numpy)
if cv.waitKey(25) & 0xFF == ord('q'):
cv.destroyAllWindows()
break
cv.namedWindow('window', cv.WINDOW_KEEPRATIO)
haystack_img = cv.imread("background.jpg", cv.IMREAD_UNCHANGED)
needle_img = cv.imread('urf.jpg', cv.IMREAD_UNCHANGED)
result = cv.matchTemplate(haystack_img, needle_img, cv.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv.minMaxLoc(result)
print('Melhor Pixel TOP: %s' % str(max_loc))
print('Melhor Match: %s' % max_val)
threshold = max_val
if max_val >= threshold:
print('Q -> LUX IDENTIFICADO')
needle_w = needle_img.shape[1]
needle_h = needle_img.shape[0]
top_left = max_loc
bottom_right = (top_left[0] + needle_w, top_left[1] + needle_h)
cv.rectangle(haystack_img, top_left, bottom_right,
color=(0, 255, 0), thickness=2, lineType=cv.LINE_4)
cv.imwrite('result.jpg', haystack_img)
else:
print('Needle not found.')
esse é meu codigo, eu tenho um while pra capturar a tela e depois um codigo todo que não tem haver com capturar tela (ainda), eu consegui fazer com que de um print tirada de um jogo o opencv encontrasse um objeto em especifico, agora queria que ele encontrasse esse objeto mas não da minha print e sim da minha tela que vai estar sendo capturada mas nao sei como juntar os dois codigos que fiz, era algo tipo
haystack_img = cv.imread("MINHA TELA EM TEMPO REAL", cv.IMREAD_UNCHANGED) // Imagem que era pra ser a captura da minha tela ao vivo needle_img = cv.imread('urf.jpg', cv.IMREAD_UNCHANGED) // o pixel que vai ficar procurando e quando achar retornar qualquer coisa um print("success") qualquer coisa pra ajudar a continuar esse codigo