Я не получаю прямоугольник на объекте, который нужно сопоставить. Может кто-нибудь скажет мне, что случилось с моим кодом или вы можете написать лучший код?Как сопоставить шаблон в реальном времени с помощью камеры с opencv и python?
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
template = cv2.imread('tnmul.jpg',0)
w, h = template.shape[::-1]
while(True):
ret, frame = cap.read()
i= cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
res = cv2.matchTemplate(i,template,2)
cv2.imshow('frame',i)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[0] + h)
cv2.rectangle(i, top_left, bottom_right, (50, 0, 130), 2)
cv2.imshow('output',i)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Каков результат, который вы получаете? Где ошибка? – GPPK
в программе нет ошибки! Он работает, но он не соответствует. Я имею в виду, что он не рисует прямоугольник на изображении, которое нужно сопоставить. В результате он просто продолжает работать в цикле без соответствия –