2-D свёртка
возвращает двумерную свертку матриц C = conv2(A,B)A и B.
В таких приложениях, как обработка изображения, может быть полезно сравнивать входной сигнал свертки непосредственно с выходным сигналом. conv2 функция позволяет управлять размером вывода.
Создание случайной матрицы 3 на 3 A и случайная матрица 4 на 4 B. Вычислить полную свертку A и B, которая является матрицей 6 на 6.
A = rand(3); B = rand(4); Cfull = conv2(A,B)
Cfull = 6×6
0.7861 1.2768 1.4581 1.0007 0.2876 0.0099
1.0024 1.8458 3.0844 2.5151 1.5196 0.2560
1.0561 1.9824 3.5790 3.9432 2.9708 0.7587
1.6790 2.0772 3.0052 3.7511 2.7593 1.5129
0.9902 1.1000 2.4492 1.6082 1.7976 1.2655
0.1215 0.1469 1.0409 0.5540 0.6941 0.6499
Вычислить центральную часть свёртки Csame, которая является подматрицей Cfull с тем же размером, что и A. Csame равно Cfull(3:5,3:5).
Csame = conv2(A,B,'same')Csame = 3×3
3.5790 3.9432 2.9708
3.0052 3.7511 2.7593
2.4492 1.6082 1.7976
Операция поиска ребер Собеля использует свёртку 2-D для обнаружения ребер в изображениях и других 2-D данных.
Создание и печать 2-D пьедестала с высотой внутреннего пространства, равной единице.
A = zeros(10); A(3:7,3:7) = ones(5); mesh(A)

Свернуть ряды A с вектором u, а затем свернуть строки результата с вектором v. Свертка извлекает горизонтальные края пьедестала.
u = [1 0 -1]'; v = [1 2 1]; Ch = conv2(u,v,A); mesh(Ch)

Чтобы извлечь вертикальные края пьедестала, измените порядок свертки на противоположный u и v.
Cv = conv2(v,u,A); mesh(Cv)

Вычислите и постройте график объединенных кромок пьедестала.
figure mesh(sqrt(Ch.^2 + Cv.^2))

A - Входной массивВходной массив, заданный как вектор или матрица.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да
B - Второй входной массивВторой входной массив, заданный как вектор или матрица для свертки с A. Множество B не обязательно должен быть такого же размера, как A.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да
u - Входной векторВходной вектор, заданный как вектор строки или столбца. u свертки с каждым столбцом A.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да
v - Второй входной векторВторой входной вектор, заданный как вектор строки или столбца. v свертки с каждым рядом свертки u со столбцами A.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да
shape - Подраздел свертки'full' (по умолчанию) | 'same' | 'valid'Подраздел свертки, указанный как одно из следующих значений:
'full' - Возврат полной свертки 2-D.
'same' - Возврат центральной части свёртки, которая имеет тот же размер, что и A.
'valid' - возвращает только части свёртки, вычисленные без заполненных нулем кромок.
C - свёртка 2-D2-D свертка, возвращаемая как вектор или матрица. Когда A и B матрицы, затем свертка C = conv2(A,B) имеет размер size(A)+size(B)-1. Когда [m,n] = size(A), p = length(u), и q = length(v), затем сверток C = conv2(u,v,A) имеет m+p-1 строки и n+q-1 столбцы.
Когда один или несколько входных аргументов conv2 относятся к типу single, то выход имеет тип single. В противном случае conv2 преобразует входные данные в тип double и возвращает тип double.
Типы данных: double | single
Для дискретных двумерных переменных A и B следующее уравнение определяет свертку A и B:
+ 1, k − q + 1)
p и q превышают все значения, которые приводят к легальным индексам A (p, q) и B (j-p + 1, k-q + 1).
Примечания и ограничения по использованию:
Если shape является 'full' (по умолчанию), затем входы A и B не должен быть пустым, и только один массив может быть высоким.
Если shape является 'same' или 'valid', то B не может быть массивом высокого уровня.
u и v не могут быть массивами высокого уровня.
Дополнительные сведения см. в разделе Массивы Tall.
Эта функция полностью поддерживает массивы графических процессоров. Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Примечания и ограничения по использованию:
Входные векторы u и v не должны быть распределенными массивами.
Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.