exponenta event banner

Сопоставление шаблонов

Поиск шаблона на изображении

  • Библиотека:
  • Инструментарий для компьютерного зрения/Анализ и усовершенствование

  • Template Matching block

Описание

Блок «Соответствие шаблона» находит наилучшее соответствие шаблона входному изображению. Блок вычисляет соответствие значений метрик путем перемещения шаблона по интересующей области или всему изображению, а затем находит наилучшее расположение соответствия.

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

Порты

Вход

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

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

sizevalid = sizeinput - sizetemplate + 1(1)

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

Шаблон, заданный как матрица M-by-N

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

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-на-N. Этот вывод особенно полезен для выполнения сопоставления шаблонов с точностью субпикселя.

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

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

  • 1 - Район, содержащий лучшее совпадение, полностью находится внутри интересующего региона.

  • 0 - Район, содержащий лучшее совпадение, полностью или частично находится за пределами интересующего региона.

Зависимости

Этот порт появляется при включении матрицы вывода NxN метрических значений вокруг параметра наилучшего соответствия.

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

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

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

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

Зависимости

Этот порт появляется при включении флага Output, указывающего, является ли параметр ROI допустимым.

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

Параметры

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

Главная вкладка

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

  • Sum of absolute differences (SAD)

  • Sum of squared differences (ТВЕРДОТЕЛЬНЫЙ НАКОПИТЕЛЬ)

  • Maximum absolute difference (MaxAD)

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

Выберите тип вывода:

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

  • Best match location - Выведите координаты [x, y] для расположения наилучшего совпадения. Эта опция добавляет выходной порт Loc к блоку. Он также делает доступными метод поиска, матрицу вывода NxN метрических значений вокруг наилучшего соответствия и параметры обработки Enable ROI.

    Параметр «Вывод» на панели «Типы данных» появляется при установке для параметра «Вывод» на вкладке «Главная» значения Metric matrix или если установлено значение Best match location и активизируется матрица вывода NxN метрических значений вокруг параметра наилучшего соответствия.

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

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

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

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

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

Зависимости

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

Активизируйте добавление портов NMetric и NValid.

Зависимости

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

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

Зависимости

Этот параметр появляется при включении матрицы вывода NxN метрических значений вокруг параметра наилучшего соответствия.

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

Зависимости

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

  • При включении этого параметра блок добавляет входной порт ROI, и появляется флаг Output, указывающий, является ли ROI допустимым параметром.

Активизируйте добавление порта ROIValid.

Зависимости

Этот параметр появляется при включении параметра Enable ROI processing.

Вкладка «Типы данных»

Дополнительные сведения о параметрах блока с фиксированной точкой см. в разделе Задание атрибутов блока с фиксированной точкой.

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

Типы данных

Boolean | double | fixed point | integer | single

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

no

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

yes

Алгоритмы

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

Ссылки

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

[2] Закай М., «Общие критерии расстояния» IEEE Transaction on Information Theory, pp. 94-95, январь 1964.

[3] Ю., Дж., Дж. Аморес, Н. Себе, К. Тиан, «Новое исследование по метрике расстояния как измерению подобия» Международная конференция IEEE по мультимедиа и экспо, 2006.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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