Template Matching

Найдите шаблон в изображении

  • Библиотека:
  • Computer Vision Toolbox / Analysis & Enhancement

  • Template Matching block

Описание

Блок Template Matching находит лучшее соответствие шаблона во входном изображении. Блок вычисляет метрические значения соответствия путем сдвига шаблона по необходимой области или целому изображению, и затем находит лучшее местоположение соответствия.

Блок выходные параметры или метрические значения соответствия или на основе одно (x, y) координаты лучшего соответствия шаблона. Опционально блок может вывести N-by-N матрица метрических значений соответствия, сосредоточенных вокруг лучшего местоположения соответствия.

Порты

Входной параметр

развернуть все

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

sizevalid=sizeinput sizetemplate+1(1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Обработайте по шаблону в виде M-by-N матрицу

Блок Template Matching не заполняет входные данные. Поэтому это может только вычислить значения для метрик соответствия между входным изображением и шаблоном, где шаблон расположен таким образом, что это падает полностью на входное изображение. Набор всех таких положений шаблона называют как допустимая область входного изображения. Размер допустимой области является различием между размерами входа и изображений шаблона плюс одно.

sizevalid=sizeinput sizetemplate+1(2)

Типы данных: single | double | uint8 | Boolean | fixed point

Вектор необходимой области в формате (x, y, width, height), где (x, y) координаты на основе одна для верхнего левого угла области. Блок выводит лучший индекс местоположения соответствия относительно левого верхнего угла входного изображения.

Типы данных: single | double | uint8 | Boolean | fixed point

Вывод

развернуть все

Матрица метрических значений соответствия. Матрица метрик соответствия всегда реализует одноступенчатую исчерпывающую итерацию окна. Поэтому блок вычисляет метрические значения на уровне каждого пикселя.

Зависимости

Когда вы устанавливаете параметр Output на Metric matrix, блок выводит допустимый размер изображения.

Типы данных: single | double | uint8 | Boolean | fixed point

Лучше всего обработайте по шаблону соответствие, расположенное в на основе одном (x, y) координаты. Когда в режиме обработки ROI, блок обрабатывает изображение вокруг ROI как расширение подобласти ROI. Поэтому это вычисляет лучшие местоположения соответствия, верные для фактических контуров ROI. Блок выводит лучшие координаты соответствия относительно верхнего левого угла изображения. На основе один [x y] координаты местоположения соответствуют центру шаблона. Следующая таблица показывает, как блок выводит центральные координаты для четных и нечетных шаблонов:

Нечетное число пикселей в шаблонеЧетное число пикселей в шаблоне

Типы данных: uint32

Метрические значения в окружении лучшего соответствия, возвращенного как N-by-N матрица. N, заданный в маске, должен быть нечетным числом. Когда вы выбираете Best match location, чтобы возвратить матрицу метрик в окружении вокруг лучшего соответствия, исчерпывающий цикл вычисляет все метрические значения для N-by-N окружение. Этот выход особенно полезен для выполнения сравнения с шаблонами с субпиксельной точностью.

Типы данных: single | double | uint8 | Boolean | fixed point

Включите, чтобы отследить допустимую область окружения. Матрица окружения метрических значений допустима в ROI. Блок устанавливает NValid выход можно следующим образом:

  • 1 — Окружение, содержащее лучшее соответствие, полностью в необходимой области.

  • 0 — Окружение, содержащее лучшее соответствие, полностью или частично за пределами необходимой области.

Зависимости

Этот порт появляется, когда вы включаете параметр Output NxN matrix of metric values around best match.

Типы данных: Boolean

Включите, чтобы отследить допустимую необходимую область. Если ROI находится частично вне допустимого изображения, блок только обрабатывает пересечение ROI и допустимого изображения. Блок устанавливает ROIValid выход можно следующим образом:

  • 1 — ROI находится полностью в допустимой части входного изображения.

  • 0 — ROI находится полностью или частично за пределами допустимой части входного изображения.

Зависимости

Этот порт появляется, когда вы включаете параметр Output flag indicating if ROI is valid.

Типы данных: Boolean

Параметры

развернуть все

Main Tab

Выберите метрику соответствия как один из:

  • Sum of absolute differences (SAD)

  • Sum of squared differences (SSD)

  • Maximum absolute difference (MaxAD)

Блок вычисляет метрику соответствия на каждом шаге итерации. Выберите метрику соответствия что лучшие иски ваше приложение. Блок вычисляет глобальный оптимум для лучшего метрического значения. Это использует допустимую подобласть входного изображения, пересеченного ROI, если обеспечено.

Выберите тип выхода как один из:

  • Match metric — Выведите метрическую матрицу соответствия. Эта опция добавляет выходной порт Metric в блок.

  • Best match location — Выведите [x, y] координаты для местоположения лучшего соответствия. Эта опция добавляет выходной порт Loc в блок. Это также делает Search method, Output NxN matrix of metric values around best match и параметры Enable ROI processing доступными.

    Параметр Output на панели Типов данных появляется, когда вы устанавливаете параметр Output на Main tab к Metric matrix или если вы устанавливаете его на Best match location и вы включаете параметр Output NxN matrix of metric values around best match.

Задайте метод поиска как любой Exhaustive или Three-step. Exhaustive метод поиска в вычислительном отношении интенсивен, потому что он ищет в каждом пиксельном местоположении изображения. Однако этот метод обеспечивает более точный результат.

Three-step метод поиска является быстрым поиском, который использует подход окружения по сравнению с поиском на уровне каждого пикселя. Поиск запускается с размера шага, равного или немного больше, чем половина максимальной поисковой области значений, и затем использует следующие шаги:

  1. Блок сравнивает девять поисковых точек на каждом шаге. Существует центральная точка и восемь поисковых точек, расположенных на контуре области поиска.

  2. Блок постепенно уменьшает размер шага одним, после каждого шага, заканчивая поиск размером шага одного пикселя.

  3. На каждом новом шаге, перемещения блока поисковый центр к лучшей точке соответствия, следующей из предыдущего шага. Номер один синие круги в рисунке ниже представляет поиск стартовым размером шага три. Номер два зеленые круги представляет следующий поиск, с размером шага два, сосредоточенный вокруг лучшего соответствия, найденного от предыдущего поиска. Наконец, номер три оранжевые круги представляет итоговый поиск, с размером шага одного, сосредоточенного вокруг предыдущего лучшего соответствия.

Зависимости

Этот параметр появляется, когда вы устанавливаете параметр Output на Best match location.

Включите, чтобы добавить порты NMetric и NValid.

Зависимости

Этот параметр появляется, когда вы устанавливаете параметр Output на Best match location.

Размер выходной матрицы. Это значение определяет размер N-by-N выходная матрица, сосредоточенная вокруг лучшего индекса местоположения соответствия. N должен быть нечетным числом.

Зависимости

Этот параметр появляется, когда вы включаете параметр Output NxN matrix of metric values around best match.

Включите обработку ROI.

Зависимости

  • Этот параметр появляется, когда вы устанавливаете параметр Output на Best match location.

  • Когда вы включаете этот параметр, блок добавляет входной порт ROI, и параметр Output flag indicating if ROI is valid появляется.

Включите, чтобы добавить порт ROIValid.

Зависимости

Этот параметр появляется, когда вы включаете параметр Enable ROI processing.

Data Types Tab

Для получения дополнительной информации на параметрах блоков фиксированной точки, смотрите, Задают Атрибуты Фиксированной точки для Блоков.

Характеристики блока

Типы данных

Boolean | double | fixed point | integer | single

Многомерные сигналы

no

Сигналы переменного размера

yes

Алгоритмы

развернуть все

Ссылки

[1] Кога Т., и. Эл. Компенсированное движению межкадровое кодирование для организации видеоконференций. На Национальной Телекоммуникационной Конференции. Ноябрь 1981, G5.3.1–5, Новый Орлеан, ЛА

[2] Закай М., “Общая Транзакция IEEE” критериев расстояния на Теории информации, стр 94–95, январь 1964.

[3] Ю, J., Дж. Амоурс, Н. Себ, Ц. Тянь, "Новое исследование метрик расстояния как международная конференция IEEE" измерения подобия по вопросам мультимедиа и Экспо, 2006.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Смотрите также

Представленный в R2009b