Блокируйте соответствие

Оцените движение между изображениями или кадрами видео

Библиотека

Analysis & Enhancement

visionanalysis

Описание

Блок Block Matching оценивает движение между двумя изображениями или двумя использованиями кадров видео “блоки” пикселей. Блок Block Matching совпадает с блоком пикселей в кадре k к блоку пикселей в кадре k+1 путем перемещения блока пикселей по поисковой области.

Предположим, что вход к блоку является кадром k. Блок Block Matching выполняет следующие шаги:

  1. Блок подразделяет этот кадр с помощью значений, вы вводите для Block size [height width] и параметров Overlap [r c]. В следующем примере параметром Overlap [r c] является [0 0].

  2. Для каждого подразделения или блока в кадре k+1, блок Block Matching устанавливает поисковую область на основе значения, вы вводите для параметра Maximum displacement [r c].

  3. Поиски блока для нового местоположения блока с помощью или Exhaustive или метода поиска Three-step.

ПортВывод Поддерживаемые типы данныхПоддерживаемые комплексные числа

I/I1

Скаляр, вектор или матрица значений интенсивности

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, и 32-битное целое число со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Нет

I2

Скаляр, вектор или матрица значений интенсивности

То же самое, когда я портирую

Нет

|V |^2

Матрица значений скорости

То же самое, когда я портирую

Нет

V

Матрица скоростных компонентов в комплексной форме

То же самое, когда я портирую

Да

Используйте параметр Estimate motion between, чтобы задать, оценить ли движение между двумя изображениями или двумя кадрами видео. Если вы выбираете Current frame and N-th frame back, параметр N появляется в диалоговом окне. Введите скалярное значение, которое представляет количество кадров между ссылочным кадром и текущим кадром.

Используйте параметр Search method, чтобы задать, как блок определяет местоположение блока пикселей в кадре k+1 что лучшие соответствия блок пикселей в кадре k.

  • Если вы выбираете Exhaustive, блок выбирает местоположение блока пикселей в кадре k+1 путем перемещения блока через поисковую область 1 пиксель за один раз. Этот процесс является в вычислительном отношении дорогим.

  • Если вы выбираете Three-step, поиски блока для блока пикселей в кадре k+1 что лучшие соответствия блок пикселей в кадре k использование постоянно уменьшающегося размера шага. Блок начинается с размера шага, приблизительно равняются половине максимальной поисковой области значений. На каждом шаге блок сравнивает центральную точку поисковой области к восьми поисковым точкам, расположенным на контурах области, и перемещает центральную точку к поисковой точке, значения которой является самым близким к той из центральной точки. Блок затем уменьшает размер шага наполовину и начинает процесс снова. Эта опция является менее в вычислительном отношении дорогой, хотя она не может найти оптимальное решение.

Используйте параметр Block matching criteria, чтобы задать, как блок измеряет подобие блока пикселей в кадре k к блоку пикселей в кадре k+1. Если вы выбираете Mean square error (MSE), блок Block Matching оценивает смещение центрального пикселя блока как (d1,d2) значения, которые минимизируют следующее уравнение MSE:

MSE(d1,d2)=1N1×N2(n1,n2),B[s(n1,n2,k)s(n1+d1,n2+d2,k+1)]2

В предыдущем уравнении B N1×N2 блок пикселей и s (x, y, k) обозначают пиксельное местоположение в (x, y) в кадре k. Если вы выбираете Mean absolute difference (MAD), блок Block Matching оценивает смещение центрального пикселя блока как (d1,d2) значения, которые минимизируют следующее уравнение MAD:

MAD(d1,d2)=1N1×N2(n1,n2),B|s(n1,n2,k)s(n1+d1,n2+d2,k+1)|

Используйте Block size [height width] и параметры Overlap [r c], чтобы задать, как блок подразделяет входное изображение. Для графического описания этих параметров смотрите первую фигуру на этой странице с описанием. Если бы параметром Overlap [r c] не является [0 0], блоки перекрыли бы друг друга количеством пикселей, которые вы задаете.

Используйте параметр Maximum displacement [r c], чтобы задать максимальное количество пикселей, которые любой центральный пиксель в блоке пикселей может переместить от изображения до изображения или кадра к кадру. Блок использует это значение, чтобы определить размер поисковой области.

Используйте параметр Velocity output, чтобы задать вывод блока. Если вы выбираете Magnitude-squared, блок выводит матрицу оптического потока, где каждый элемент имеет форму u2+v2. Если вы выбираете Horizontal and vertical components in complex form, блок выводит матрицу оптического потока, где каждый элемент имеет форму u+jv. Действительная часть каждого значения является горизонтальным скоростным компонентом, и мнимая часть каждого значения является вертикальным скоростным компонентом.

Типы данных с фиксированной точкой

Следующая схема показывает типы данных, используемые в блоке Block Matching для сигналов фиксированной точки.

Можно установить аккумулятор и типы выходных данных в маске блока, как обсуждено в следующем разделе.

Параметры

Estimate motion between

Выберите Two images, чтобы оценить движение между двумя изображениями. Выберите Current frame and N-th frame back, чтобы оценить движение между двумя кадрами видео, которые являются кадрами N независимо.

N

Введите скалярное значение, которое представляет количество кадров между ссылочным кадром и текущим кадром. Этот параметр только видим, если для параметра Estimate motion between вы выбираете Current frame and N-th frame back.

Search method

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

Block matching criteria

Задайте, как блок измеряет подобие блока пикселей в кадре k к блоку пикселей в кадре k+1. Вашим выбором является Mean square error (MSE) или Mean absolute difference (MAD).

Block size [height width]

Задайте размер блока пикселей.

Overlap [r c]

Задайте перекрытие (в пикселях) двух подразделений входного изображения.

Maximum displacement [r c]

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

Velocity output

Если вы выбираете Magnitude-squared, блок выводит матрицу оптического потока, где каждый элемент имеет форму u2+v2. Если вы выбираете Horizontal and vertical components in complex form, блок выводит матрицу оптического потока, где каждый элемент имеет форму u+jv.

Rounding mode

Выберите округляющийся режим для операций фиксированной точки.

Overflow mode

Выберите режим переполнения для операций фиксированной точки.

Product output

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

  • Когда вы выбираете Same as input, эти характеристики совпадают с теми из входа к блоку.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и дробную длину продукта вывод в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне продукта вывод. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox™ 0.

Accumulator

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

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и дробную длину аккумулятора в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне аккумулятора. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.

Output

Выберите, как задать размер слова и дробная продолжительность вывода блока:

  • Когда вы выбираете Binary point scaling, можно ввести размер слова вывода в битах. Дробная длина всегда 0.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, вывода. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.

Lock data type settings against change by the fixed-point tools

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg, страницу с описанием на Fixed-Point Tool в документации Simulink®.

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

Оптический поток

Программное обеспечение Computer Vision Toolbox

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

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

Представлено до R2006a