exponenta event banner

conv2

Описание

пример

C = conv2(A,B) возвращает двумерную свертку матриц A и B.

пример

C = conv2(u,v,A) первый свертывает каждый столбец A с вектором u, а затем сворачивает каждую строку результата с вектором v.

пример

C = conv2(___,shape) возвращает подраздел свертки согласно shape. Например, C = conv2(A,B,'same') возвращает центральную часть свёртки, размер которой равен A.

Примеры

свернуть все

В таких приложениях, как обработка изображения, может быть полезно сравнивать входной сигнал свертки непосредственно с выходным сигналом. 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)

Figure contains an axes. The axes contains an object of type surface.

Свернуть ряды A с вектором u, а затем свернуть строки результата с вектором v. Свертка извлекает горизонтальные края пьедестала.

u = [1 0 -1]';
v = [1 2 1];
Ch = conv2(u,v,A);
mesh(Ch)

Figure contains an axes. The axes contains an object of type surface.

Чтобы извлечь вертикальные края пьедестала, измените порядок свертки на противоположный u и v.

Cv = conv2(v,u,A);
mesh(Cv)

Figure contains an axes. The axes contains an object of type surface.

Вычислите и постройте график объединенных кромок пьедестала.

figure
mesh(sqrt(Ch.^2 + Cv.^2))

Figure contains an axes. The axes contains an object of type surface.

Входные аргументы

свернуть все

Входной массив, заданный как вектор или матрица.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да

Второй входной массив, заданный как вектор или матрица для свертки с A. Множество B не обязательно должен быть такого же размера, как A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да

Входной вектор, заданный как вектор строки или столбца. u свертки с каждым столбцом A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да

Второй входной вектор, заданный как вектор строки или столбца. v свертки с каждым рядом свертки u со столбцами A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да

Подраздел свертки, указанный как одно из следующих значений:

  • 'full' - Возврат полной свертки 2-D.

  • 'same' - Возврат центральной части свёртки, которая имеет тот же размер, что и A.

  • 'valid' - возвращает только части свёртки, вычисленные без заполненных нулем кромок.

Выходные аргументы

свернуть все

2-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

Подробнее

свернуть все

2-D Свёртка

Для дискретных двумерных переменных A и B следующее уравнение определяет свертку A и B:

C (j, k) =∑p∑qA (p, q) B (j p + 1, k − q + 1)

p и q превышают все значения, которые приводят к легальным индексам A (p, q) и B (j-p + 1, k-q + 1).

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

Создание кода графического процессора
Создание кода CUDA ® для графических процессоров NVIDIA ® с помощью Coder™ графических процессоров

.

См. также

|

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