Вычислите 2D взаимную корреляцию двух входных матриц
Статистика
visionstatistics
2D блок Correlation вычисляет двумерную взаимную корреляцию двух входных матриц. Примите, что матрица А имеет размерности (Ma, Na), и матрица B имеет размерности (Mb, Nb). Когда блок вычисляет полный выходной размер, уравнение для двумерной дискретной взаимной корреляции
где и .
Порт | Ввод/вывод | Поддерживаемые типы данных | Поддерживаемые комплексные числа |
---|---|---|---|
I1 | Вектор или матрица значений интенсивности |
| Да |
I2 | Скаляр, вектор или матрица значений интенсивности или скаляра, вектора или матрицы, которая представляет одну плоскость видеопотока RGB | То же самое как порт I1 | Да |
Вывод | Свертка входных матриц | То же самое как порт I1 | Да |
Если тип данных входа является плавающей точкой, вывод блока является совпадающим типом данных.
Размерности вывода диктуют параметр Output size и размеры входных параметров в портах I1 и I2. Например, примите, что вход в порте I1 имеет размерности (Ma, Na), и вход в порте I2 имеет размерности (Mb, Nb). Если для параметра Output size вы выбираете Full
, вывод является полной двумерной взаимной корреляцией с размерностями (Ma +Mb-1, Na +Nb-1). Если для параметра Output size вы выбираете Same as input port I1
, вывод является центральной частью взаимной корреляции с теми же размерностями как вход в порте I1. Если для параметра Output size вы выбираете Valid
, вывод является только теми частями взаимной корреляции, которые вычисляются без дополненных нулем ребер любого входа. Этот вывод имеет размерности (Ma-Mb+1, Na-Nb+1). Однако, если all(size(I1)<size(I2))
, блочные ошибки.
Если вы устанавливаете флажок Normalized output, вывод блока разделен на sqrt(sum(dot(I1p,I1p))*sum(dot(I2,I2)))
, где I1p
является фрагментом матрицы I1, которая выравнивается с матрицей I2. Смотрите Пример 2 для получения дополнительной информации.
Когда вы устанавливаете флажок Normalized output, вход блока не может быть фиксированной точкой.
Следующая схема показывает типы данных, используемые в 2D блоке Correlation для сигналов фиксированной точки.
Можно установить продукт вывод, аккумулятор и типы выходных данных в маске блока, как обсуждено в Параметрах.
Вывод множителя находится в типе выходных данных продукта, если по крайней мере одни из входных параметров ко множителю действительны. Если оба из входных параметров ко множителю являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, обратитесь к Типам данных Умножения.
Предположим, что I1, первая входная матрица, имеет размерности (4,3). I2, вторая входная матрица, имеет размерности (2,2). Если для параметра Output size вы выбираете Full
, блок использует следующие уравнения, чтобы определить количество строк и столбцов выходной матрицы:
Получившаяся матрица
Если для параметра Output size вы выбираете Same as input port I1
, вывод является центральной частью с теми же размерностями как вход в порте I1, (4,3). Однако начиная с 4 3 матрица не может быть извлечена от точного центра, блок оставляет больше строк и столбцов на главной и левой стороне матрицы и выходных параметров:
Если для параметра Output size вы выбираете Valid
, блок использует следующие уравнения, чтобы определить количество строк и столбцов выходной матрицы:
В этом случае всегда возможно извлечь точный центр. Поэтому блок выходные параметры
Во взаимной корреляции значение выходного элемента вычисляется как взвешенная сумма соседних элементов.
Например, предположите, что первая входная матрица представляет изображение и задана как
I1 = [17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9]
Вторая входная матрица также представляет изображение и задана как
I2 = [8 1 6 3 5 7 4 9 2]
Следующие данные показывают, как вычислить (2,4) выходной элемент (основанная на нуле индексация) использующий эти шаги:
Двигайте центральный элемент I2 так, чтобы нашелся сверху (1,3) элемент I1.
Умножьте каждый вес в I2 элементом I1 внизу.
Суммируйте отдельные продукты от шага 2.
(2,4) выходной элемент от взаимной корреляции .
Вычисление (2,4) Вывод взаимной корреляции
Нормированной взаимной корреляцией (2,4) выходной элемент является 585/sqrt(sum(dot(I1p,I1p))*sum(dot(I2,I2)))
= 0.8070
, где I1p = [1 8 15; 7 14 16; 13 20 22]
.
Этот параметр управляет размером выходного скаляра, вектора или матрицы, произведенной в результате взаимной корреляции между двумя входными параметрами. Если вы выбираете Full
, вывод имеет размерности (Ma +Mb-1, Na +Nb-1). Если вы выбираете Same as input port I1
, вывод имеет те же размерности как вход в порте I1. Если вы выбираете Valid
, выводите, имеет размерности (Ma-Mb+1, Na-Nb+1).
Если вы устанавливаете этот флажок, вывод блока нормирован.
Выберите Rounding Modes для операций фиксированной точки.
Выберите режим Overflow для операций фиксированной точки.
Задайте тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке:
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину продукта вывод в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне продукта вывод. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox™ 0.
Продукт Вывод наследовал свой знак согласно входным параметрам. Если или или оба входа I1 и I2 будут подписаны, продукт, то Вывод будет подписан. В противном случае продукт Вывод без знака. Приведенная ниже таблица показывает все случаи.
Знак входа I1 | Знак входа I2 | Знак продукта Вывод |
---|---|---|
без знака | без знака | без знака |
без знака | со знаком | со знаком |
со знаком | без знака | со знаком |
со знаком | со знаком | со знаком |
Используйте этот параметр, чтобы задать, как определять слово аккумулятора и дробные длины. Отошлите к Типам данных с фиксированной точкой andMultiplication Типы данных для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Тип данных аккумулятора только используется, когда оба входных параметров ко множителю комплексные:
Когда вы выбираете Same as product output
, эти характеристики совпадают с теми из продукта вывод.
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину аккумулятора в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне аккумулятора. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.
Выберите, как задать размер слова и дробная продолжительность вывода блока:
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробная продолжительность вывода в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне вывода. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg
, страницу с описанием на Fixed-Point Tool в документации Simulink®.
Computer Vision Toolbox | |
Computer Vision Toolbox | |
Computer Vision Toolbox | |
Computer Vision Toolbox | |
Computer Vision Toolbox | |
Computer Vision Toolbox | |
2D Максимум | Computer Vision Toolbox |
2D Минимум | Computer Vision Toolbox |