Как сравнить результат нескольких шаблонов соответствия CV2?Python

Программы на Python
Ответить
Anonymous
 Как сравнить результат нескольких шаблонов соответствия CV2?

Сообщение Anonymous »

Привет, ребята, небольшой вопрос относительно сопоставления шаблонов CV2.
Итак, у нас есть следующая функция, и она находит правильный шаблон, который соответствует рабочему изображению.

красный шаблон синий шаблон зеленый шаблон желтый
рабочее изображение шаблона

Код: Выделить всё

import cv2

red_template = cv2.imread('resources/temptest/red_template.png')
yellow_template = cv2.imread('resources/temptest/yellow_template.png')
blue_template = cv2.imread('resources/temptest/blue_template.png')
green_template = cv2.imread('resources/temptest/green_template.png')
work_image = cv2.imread('resources/temptest/work_image.png')
all_templates = [red_template,yellow_template,blue_template,green_template]

for template in all_templates:
result = cv2.matchTemplate(work_image,template,
method=cv2.TM_CCORR_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
threshold = 0.945
if max_val >= threshold:
print('found it')
break
else:
print('not found')
continue

Мой вопрос заключается в том, как нам вывести идентификатор для успешного совпадения шаблона.
Я размышлял над этим и попробовал несколько разных методов, таких как добавление возвращаемого результата или возвращаемого шаблона, но ни один из них не дает мне измеримый объект, и обычно я получаю следующую ошибку при попытке сравнить выходные данные с одним из шаблонов:ValueError: операнды не могут передаваться вместе с фигурами .
Поэтому мой вопрос теперь снова заключается в том, как нам получить какой-то сопоставимый результат, который мы можем затем использовать в случае необходимости (например, если совпадением был зеленый шаблон, тогда выполните что-то) .

Подробнее здесь: https://stackoverflow.com/questions/792 ... -templates
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»