Main Content

Opciones de relleno de límitesimfilter

Al calcular un píxel de salida en el límite de una imagen, una parte del kernel de convolución o correlación suele estar fuera del borde de la imagen, como se muestra en la figura siguiente.

Cuando los valores del núcleo caen fuera de la imagen

La función normalmente rellena estos píxeles de imagen fuera del borde suponiendo que son .imfilter0 Esto se denomina relleno cero y se ilustra en la figura siguiente.

Relleno cero de píxeles externos

Cuando usted filtra una imagen, el relleno cero puede dar lugar a una banda oscura alrededor del borde de la imagen, tal y como se muestra en de 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 cero alrededor del borde de la imagen, ofrece un método de relleno de contorno alternativo llamado .imfilterreplicación fronteriza En la replicación de borde, el valor de cualquier píxel fuera de la imagen se determina replicando el valor del píxel de borde más cercano. Esto se ilustra en la figura siguiente.

Píxeles de límite replicados

Para filtrar mediante la replicación de bordes, pase el argumento opcional adicional a .'replicate'imfilter

I3 = imfilter(I,h,'replicate'); figure, imshow(I3);  title('Filtered Image with Border Replication')

La función admite otras opciones de relleno de contorno, como y .imfilter'circular''symmetric' Consulte la página de referencia para obtener más información.imfilter

Consulte también

Temas relacionados