3Create
@3Create

Как обнаруживать повернутый объект (template matching)?

Я только учусь.
Такой стандартный код обнаруживает на картинке выбранный шаблон.
Но как сделать обнаружение , если картинка повернута и допустим черно-белая?
Есть у кого примеры реализации? Спасибо.
import cv2
import numpy as np
img = cv2.imread("simpsons.jpg")
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
template = cv2.imread("barts_face.jpg", cv2.IMREAD_GRAYSCALE)
w, h = template.shape[::-1]
result = cv2.matchTemplate(gray_img, template, cv2.TM_CCOEFF_NORMED)
loc = np.where(result >= 0.4)
for pt in zip(*loc[::-1]):
    cv2.rectangle(img, pt, (pt[0] + w, pt[1] + h), (0, 255, 0), 3)
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • Вопрос задан
  • 506 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
Комментировать
adugin
@adugin Куратор тега Python
Учитесь читать документацию.
Оттуда следует, что функция работает подобно свёртке - а значит, нужно развернуть шаблон.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы