convmtx2

2-D матрица свертки

Описание

пример

T = convmtx2(H,m,n) возвращает матрицу свертки T для матрицы H. Если X является m-by- n матрица, затем reshape(T*X(:),size(H)+[m n]-1) то же, что и conv2(X,H).

T = convmtx2(H,[m n]) возвращает матрицу свертки, где размерности m и n являются двухэлементным вектором.

Примеры

свернуть все

Покажите, что для матрицы свертки T для матрицы H, если X - матрица m на n, затем reshape(T*X(:),size(H)+[m n]-1) то же, что и conv2(X,H)

Описание первого блока кода

H = ones(3,3)/9; % averaging filter 3-by-3
M = 5;
X = magic(M);
T = convmtx2(H,M,M);
Y1 = reshape(T*X(:), size(H)+[5 5]-1)
Y1 = 7×7

    1.8889    4.5556    4.6667    3.6667    2.6667    2.5556    1.6667
    4.4444    7.6667    8.5556    6.5556    6.7778    5.8889    3.4444
    4.8889    8.7778   11.1111   10.8889   12.8889   10.5556    5.8889
    4.1111    6.6667   11.0000   13.0000   15.0000   10.6667    4.5556
    2.7778    6.7778   13.1111   15.1111   14.8889    8.5556    3.7778
    2.3333    5.6667   10.5556   10.7778    8.7778    3.8889    1.3333
    1.2222    3.2222    6.0000    5.0000    4.0000    1.2222    1.0000

Y2 = conv2(X,H)
Y2 = 7×7

    1.8889    4.5556    4.6667    3.6667    2.6667    2.5556    1.6667
    4.4444    7.6667    8.5556    6.5556    6.7778    5.8889    3.4444
    4.8889    8.7778   11.1111   10.8889   12.8889   10.5556    5.8889
    4.1111    6.6667   11.0000   13.0000   15.0000   10.6667    4.5556
    2.7778    6.7778   13.1111   15.1111   14.8889    8.5556    3.7778
    2.3333    5.6667   10.5556   10.7778    8.7778    3.8889    1.3333
    1.2222    3.2222    6.0000    5.0000    4.0000    1.2222    1.0000

isequal(Y1,Y2) % They are the same.
ans = logical
   0

Входные параметры

свернуть все

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

Типы данных: double

Строки в матрице свертки, заданные как числовой скаляр.

Типы данных: double

Столбцы в матрице свертки, заданные как числовой скаляр.

Типы данных: double

Размерности матрицы свертки, заданные как двухэлементный вектор вида [m n], где m количество строк и n количество столбцов.

Типы данных: double

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

свернуть все

Матрица свертки, возвращенная как числовой массив. Выходная матрица T является классом sparse. Количество ненулевых элементов в T не больше prod(size(H))*m*n.

См. также

| (набор Signal Processing Toolbox)

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте