Member 12761877 Ответов: 0

Как решить эту проблему для этого многомасштабного сценария сопоставления шаблонов?


Привет!

Я пытаюсь написать скрипт на python для анализа многих неподвижных изображений с разными логотипами
Логотип не всегда имеет фиксированный размер и четкость тоже не одинакова
(разрешение логотипа на изображении может быть хорошим или плохим - оно меняется, и размер тоже примерно меняется)

Сценарий, который я написал до сих пор, использует многомасштабный метод сопоставления шаблонов (библиотека opencv)
(вдохновленный ... http://www.pyimagesearch.com/2015/01/26/multi-scale-template-matching-using-python-opencv/)
Он учитывает только один шаблон за раз и дает более высокую точность при использовании шаблона с низким разрешением

Поскольку пороговое значение не работает, я попытался установить область, в которой логотип будет появляться с большей вероятностью;
И сохраните изображение, если в этой области было найдено совпадение логотипа.
Это не всегда работает, потому что иногда он совпадает с похожими логотипами или отмечает эту область, даже если он не может найти никаких логотипов.

Не могли бы вы посоветовать, как использовать maxVal в качестве индикатора сходства для метода сопоставления многомасштабных шаблонов? Какую меру сходства вы бы порекомендовали, чтобы убедиться, что метод сопоставления многомасштабных шаблонов возвращает действительный результат?

Я мог бы использовать любые предложения или методы для улучшения сценария

Спасибо!

С. П.

код сценария): Dropbox - code.py[^]

Чтобы запустить сценарий, аргументы должны быть предоставлены в powershell или командной строке [cmd] (следующим образом):
а) питон script_name.py --шаблон / ... / ... / ... / [имя].[EXT] --изображения /.../.../...
питон script_name.py --шаблон /Пользователи/Имя_пользователя/картинки/LogoFolder/mylogo.файлы PNG-изображения /Пользователи/Имя_пользователя/картинки/StillImageFolder
б) питон script_name.py --шаблон / ... / ... / ... / [имя].[EXT] --изображения /.../.../... -- визуализация 1
питон script_name.py --шаблон /Пользователи/Имя_пользователя/картинки/LogoFolder/mylogo.файлы PNG-изображения /Пользователи/Имя_пользователя/картинки/StillImageFolder --визуализация 1

Я добавил некоторый код (ближе к концу) для автоматизации скрипта, чтобы пользователю не приходилось вручную закрывать каждое окно с полученным совпадением для всех изображений.
Окно показывает результат матча в течение 10 секунд, а затем переходит к следующему изображению.

Что я уже пробовал:

Я попытался использовать пороговые значения (используя значение, возвращаемое функцией matchTemplate), а также попытался использовать maxVal в качестве индикатора сходства, но я продолжаю получать действительно огромные причудливые значения (для этих переменных)
Я сравнил значения по разным совпадениям скриншотов и, похоже, не могу найти корреляцию/паттерн

0 Ответов