Вычислить 2-D дискретную свертку двух входных матриц
Инструментарий компьютерного зрения/фильтрация

Блок 2-D свертки вычисляет двумерную свертку двух входных матриц. Предположим, что матрица A имеет размеры (Ma, Na), а матрица B имеет размеры (Mb, Nb). Когда блок вычисляет полный выходной размер, уравнение для 2-D дискретной свертки:
n) * B (i − m, j − n)
где и .
I1 - Входная матрицаВходная матрица, заданная либо как матрица значений интенсивности, либо как матрица, представляющая одну плоскость видеопотока RGB.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
I2 - Входная матрицаВходная матрица, заданная либо как матрица значений интенсивности, либо как матрица, представляющая одну плоскость видеопотока RGB.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Output - СвертокСвертка входных матриц, возвращаемых в виде матрицы.
Размеры выходных данных определяются параметром Output size.
Если типом данных ввода является плавающая точка, то выводом блока также является плавающая точка.
Если all(size(I1)<size(I2))блок возвращает ошибку.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Главная вкладка
Output size - Размер выходного документаРазмеры выходного сигнала.
В таблице описываются выходные данные блока с учетом следующих входных размеров:
I1 - (Ма, На)
I2 - (Мб, Nb)
| Размер выходного документа | Продукция | Выходное измерение |
|---|---|---|
Full | Полный двумерный сверток | (Ma + Mb-1, Na + Nb-1). |
Same as input port I1 | Центральная часть свёртки с теми же размерами, что и вход в порту I1 | |
Valid | Только части свёртки, которые вычисляются без заполненных нулем краев любого ввода. | (Ma-Mb + 1, Na-Nb + 1) |
Normalized output - Нормализованный выходНормализовать выходной сигнал путем деления выходного сигнала на sqrt(sum(dot(I1p,I1p))*sum(dot(I2,I2))), где I1p - часть матрицы I1, которая выравнивается с матрицей I2.
Примечание
Если установлен флажок Нормализованный вывод (Normalized output), ввод блока не может быть фиксированным.
Вкладка «Типы данных»
Дополнительные сведения о параметрах блока с фиксированной точкой см. в разделе Задание атрибутов блока с фиксированной точкой.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
В свертке значение выходного элемента вычисляется как взвешенная сумма соседних элементов.
Например, предположим, что первая входная матрица представляет изображение и определяется как:
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]
На следующем рисунке показано, как вычислить выходной элемент (1,1) с помощью следующих шагов:
Поверните вторую входную матрицу I2 на 180 градусов вокруг ее центрального элемента.
Сдвиньте центральный элемент I2 так, чтобы он лежал поверх (0,0) элемента I1.
Умножьте каждый элемент повернутой матрицы I2 на элемент I1 под ним.
Суммируйте отдельные продукты с шага 3.
Выходной элемент (1,1) является .
Вычисление (1,1) выходного сигнала свертки

Нормализованная свертка выходного элемента (1,1) 220/sqrt(sum(dot(I1p,I1p))*sum(dot(I2,I2))) = 0,3459, где I1p = [0 0 0; 0 17 24; 0 23 5].
Приведенные ниже уравнения описывают, как блок вычисляет свертку в зависимости от того, как задается параметр Размер вывода (Output size). В следующих случаях входные данные устанавливаются как:
I1 - размеры (4,3)
I2 - размеры (2,2)
Если для параметра «Размер вывода» установлено значение Fullблок использует следующие уравнения:
![]()
![]()
Результирующая матрица:

Если для параметра «Размер вывода» установлено значение Same as input port I1, выход является центральной частью с теми же размерами, что и вход порта I1, (4,3). Однако, поскольку матрица 4 на 3 не может быть извлечена из точного центра , блок оставляет больше строк и столбцов в верхней и левой части матрицы Cfull и выводит:

Если для параметра Output size установлено значение Validблок использует следующие уравнения для определения количества строк и столбцов выходной матрицы:![]()
![]()
В этом случае всегда можно извлечь точный центр . Поэтому блок выводит:
Если установлен флажок Нормализованный вывод (Normalized output), ввод блока не может быть фиксированным.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.