Main Content

convmtx2

Matriz de convolución 2D

Descripción

T = convmtx2(H,m,n) devuelve la matriz de convolución T para la matriz H. Si X es una matriz de m por n, entonces reshape(T*X(:),size(H)+[m n]-1) es lo mismo que conv2(X,H).

ejemplo

T = convmtx2(H,[m n]) devuelve la matriz de convolución, donde las dimensiones m y n son un vector de dos elementos.

Ejemplos

contraer todo

Muestre que para la matriz de convolución T para la matriz H, si X es una matriz de m por n, entonces reshape(T*X(:),size(H)+[m n]-1) es lo mismo que conv2(X,H)

Descripción del primer bloque de código

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

Argumentos de entrada

contraer todo

Matriz de entrada, especificada como un arreglo numérico.

Tipos de datos: double

Filas en la matriz de convolución, especificadas como un escalar numérico.

Tipos de datos: double

Columnas en la matriz de convolución, especificadas como un escalar numérico.

Tipos de datos: double

Dimensiones de la matriz de convolución, especificadas como un vector de dos elementos de la forma [m n], donde m es el número de filas y n es el número de columnas.

Tipos de datos: double

Argumentos de salida

contraer todo

Matriz de convolución, devuelta como un arreglo numérico. La matriz de salida T es de clase sparse. El número de elementos distintos de cero en T no es mayor que prod(size(H))*m*n.

Historial de versiones

Introducido antes de R2006a

Consulte también

| (Signal Processing Toolbox)