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

Блок Block Matching оценивает движение между двумя изображениями или двумя использованиями кадров видео “блоки” пикселей. Блок Block Matching совпадает с блоком пикселей в кадре k к блоку пикселей в кадре k+1 путем перемещения блока пикселей по поисковой области.
Предположим, что вход к блоку является кадром k. Блок Block Matching выполняет следующие шаги:
Блок подразделяет этот кадр с помощью значений, вы вводите для Block size [height width] и параметров Overlap [r c]. В следующем примере параметром Overlap [r c] является [0 0].
Для каждого подразделения или блока в кадре k+1, блок Block Matching устанавливает поисковую область на основе значения, вы вводите для параметра Maximum displacement [r c].
Поиски блока для нового местоположения блока с помощью или Exhaustive или метода поиска Three-step.

| Порт | Вывод | Поддерживаемые типы данных | Поддерживаемые комплексные числа |
|---|---|---|---|
I/I1 | Скаляр, вектор или матрица значений интенсивности |
| Нет |
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 оценивает смещение центрального пикселя блока как значения, которые минимизируют следующее уравнение MSE:
В предыдущем уравнении B блок пикселей и s (x, y, k) обозначают пиксельное местоположение в (x, y) в кадре k. Если вы выбираете Mean absolute difference (MAD), блок Block Matching оценивает смещение центрального пикселя блока как значения, которые минимизируют следующее уравнение MAD:
Используйте 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, блок выводит матрицу оптического потока, где каждый элемент имеет форму . Действительная часть каждого значения является горизонтальным скоростным компонентом, и мнимая часть каждого значения является вертикальным скоростным компонентом.
Следующая схема показывает типы данных, используемые в блоке Block Matching для сигналов фиксированной точки.

Можно установить аккумулятор и типы выходных данных в маске блока, как обсуждено в следующем разделе.
Выберите Two images, чтобы оценить движение между двумя изображениями. Выберите Current frame and N-th frame back, чтобы оценить движение между двумя кадрами видео, которые являются кадрами N независимо.
Введите скалярное значение, которое представляет количество кадров между ссылочным кадром и текущим кадром. Этот параметр только видим, если для параметра Estimate motion between вы выбираете Current frame and N-th frame back.
Задайте как поиски блока для блока пикселей в следующем изображении или кадре. Вашим выбором является Exhaustive или Three-step.
Задайте, как блок измеряет подобие блока пикселей в кадре k к блоку пикселей в кадре k+1. Вашим выбором является Mean square error (MSE) или Mean absolute difference (MAD).
Задайте размер блока пикселей.
Задайте перекрытие (в пикселях) двух подразделений входного изображения.
Задайте максимальное количество пикселей, которые любой центральный пиксель в блоке пикселей может переместить от изображения до изображения или кадра к кадру. Блок использует это значение, чтобы определить размер поисковой области.
Если вы выбираете Magnitude-squared, блок выводит матрицу оптического потока, где каждый элемент имеет форму . Если вы выбираете Horizontal and vertical components in complex form, блок выводит матрицу оптического потока, где каждый элемент имеет форму .
Выберите округляющийся режим для операций фиксированной точки.
Выберите режим переполнения для операций фиксированной точки.

Как показано ранее вывод множителя помещается в тип выходных данных продукта и масштабирование. Используйте этот параметр, чтобы задать, как назвать продукт выходным словом и дробными длинами.
Когда вы выбираете Same as input, эти характеристики совпадают с теми из входа к блоку.
Когда вы выбираете Binary point scaling, можно ввести размер слова и дробную длину продукта вывод в битах.
Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне продукта вывод. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox™ 0.

Как изображено ранее, входные параметры к аккумулятору брошены к типу данных аккумулятора. Вывод сумматора остается в типе данных аккумулятора, когда каждый элемент входа добавляется к нему. Используйте этот параметр, чтобы задать, как определять это слово аккумулятора и дробные длины.
Когда вы выбираете Binary point scaling, можно ввести размер слова и дробную длину аккумулятора в битах.
Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне аккумулятора. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.
Выберите, как задать размер слова и дробная продолжительность вывода блока:
Когда вы выбираете Binary point scaling, можно ввести размер слова вывода в битах. Дробная длина всегда 0.
Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, вывода. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg, страницу с описанием на Fixed-Point Tool в документации Simulink®.
Программное обеспечение Computer Vision Toolbox |