Separabilidad de filtros lineales
Last updated
Last updated
Los filtros lineales (como el promedio y el gaussiano) tienen como ventaja el hecho de ser separables, es decir, se pueden realizar con la convolución de dos vectores unidimensionales en lugar de una máscara bidimensional.
Un filtro lineal de tamaño MxN se dice “separable” cuando se puede escribir como el producto de convolución de un filtro Mx1 con un filtro 1xN.
El interés de los filtros separables es que son más rápidos de calcular en su forma separada. Los cálculos del filtro separable se hacen en dos etapas, siguiendo los dos ejes correspondientes. Para un filtro de n filas y m columnas, se comienza por calcular, en cada pixel, la suma de los m pixeles de la misma fila (la máscara centrada en el pixel considerado). Es fácil notar que hay muchos cálculos redundantes: sólo los dos pixeles de los extremos cambian entre dos sumas consecutivas. Nos contentamos entonces con suprimir a la suma precedente el nivel de gris del pixel situado al extremo izquierdo de la máscara y de agregar el nivel de gris del pixel situado al extremo derecho de la máscara. Por lo tanto, el cálculo es exactamente el mismo, independientemente del valor de m (a excepción de la inicialización y del manejo de efectos de borde). Sobre la imagen resultado, se efectúa el mismo procedimiento para las columnas, con una máscara vertical de n pixeles, y se divide el resultado por mxn precalculado una sola vez.0