Opciones de relleno de límites de imfilter
Cuando se calcula un píxel de salida en el límite de una imagen, una parte del núcleo de convolución o correlación suele estar fuera del límite de la imagen, según se ilustra en la figura siguiente.
Cuando los valores del núcleo se encuentran fuera de la imagen
La función imfilter
normalmente rellena estos píxeles de imagen fuera del límite asumiendo que son 0
. Esto se conoce como relleno de ceros y se ilustra en la figura siguiente.
Relleno de ceros de píxeles exteriores
Cuando se filtra una imagen, el relleno de ceros puede resultar en una banda oscura alrededor del límite de la imagen, como se muestra en este ejemplo.
I = imread('eight.tif'); h = ones(5,5) / 25; I2 = imfilter(I,h); imshow(I), title('Original Image'); figure, imshow(I2), title('Filtered Image with Black Border')
Para eliminar los artefactos de relleno de ceros alrededor del límite de la imagen, imfilter
ofrece un método de relleno de límites alternativo conocido como replicación de límites. En la replicación de límites, el valor de cualquier píxel fuera de la imagen se determina replicando el valor del píxel del límite más cercano. Esto se ilustra en la figura siguiente.
Píxeles del límite replicados
Para filtrar utilizando la replicación de límites, pase el argumento opcional adicional 'replicate'
a imfilter
.
I3 = imfilter(I,h,'replicate'); figure, imshow(I3); title('Filtered Image with Border Replication')
La función imfilter
admite otras opciones de relleno de límites, como 'circular'
y 'symmetric'
. Consulte la página de referencia de imfilter
para obtener información detallada.