Académique Documents
Professionnel Documents
Culture Documents
Entrada
Ncleo
Salida
Observe que el origen de la respuesta al impulso siempre est
centrado. ( H [0,0] se encuentra en la muestra central del ncleo, no el primer
elemento.)
Comencemos a calcular cada muestra de la salida una por una.
En primer lugar, voltear el ncleo, que es la caja sombreada, tanto en direccin
horizontal como vertical. Luego, muvalo sobre la matriz de entrada. Si el ncleo
est centrado (alineado) exactamente en la muestra que nos interesa, multiplique
los datos del ncleo por los datos de entrada superpuestos.
La acumulacin (sumando estas 9 multiplicaciones) es la ltima cosa que se debe
hacer para averiguar el valor de salida.
Tenga en cuenta que las matrices se hacen referencia aqu como [columna, fila],
no [fila, columna]. M es la direccin horizontal (columna) y N es la direccin
vertical (fila).
Por cierto, el kernel en este ejemplo se llama filtro Sobel , que se utiliza para
detectar las lneas de borde horizontal en una imagen. Ver ms detalles en
los filtros de ventana .
Convolucin separable 2D
En la convolucin 2D con el ncleo M N, se requieren multiplicaciones M N
para cada muestra. Por ejemplo, si el tamao del kernel es 3x3, entonces, 9
multiplicaciones y acumulaciones son necesarias para cada muestra. Por lo tanto,
la convolucin 2D es muy cara para realizar operaciones de multiplicacin y
acumulacin.
El filtro de alisado gaussiano es una matriz separable bien conocida. Por ejemplo,
el filtro Gaussiano 3x3 es;
// encuentra la posicin central del kernel (la mitad del tamao del
ncleo)
KCenterX = kCols / 2;
KCenterY = kRows / 2;