Я перебираю список и проверяю условие. Как мне вернуть что-то, указывающее, какой элемент списка соответствует?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Я перебираю список и проверяю условие. Как мне вернуть что-то, указывающее, какой элемент списка соответствует?

Сообщение Anonymous »

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

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

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
Задействованные файлы:
красный шаблон, желтый шаблон, синий шаблон, зеленый шаблон, рабочее изображение.
Результат функции при выполнении:< /p>

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

not found
not found
not found
found it
Так что все работает нормально, и как только цикл for достигает соответствующей итерации, мы получаем положительный результат.
Мой вопрос: как нам это сделать? вывести идентификатор шаблона, который успешно совпал?
Я размышлял над этим и пробовал несколько разных методов, таких как добавление возвращаемого результата или возвращаемого шаблона но ни один из них не дает мне измеримый объект, и обычно я получаю следующую ошибку, когда пытаюсь сравнить вывод с одним из шаблонов:
ValueError: операнды не могут передаваться вместе с фигурами.

Подробнее здесь: https://stackoverflow.com/questions/792 ... mething-th
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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