Main Content

Filtrar imágenes en escala de grises y Truecolor (RGB) mediante la función de imfiltro

En este ejemplo se muestra cómo filtrar una imagen en escala de grises 2D con un filtro de 5 por 5 que contiene pesos iguales (a menudo denominado filtro de promediación) utilizando .imfilter En el ejemplo también se muestra cómo filtrar una imagen truecolor (RGB) con el mismo filtro. Una imagen truecolor es una matriz 3D de tamaño -por- -por-3, donde la última dimensión representa los tres canales de color.mn Filtrar una imagen truecolor con un filtro 2D equivale a filtrar cada plano de la imagen individualmente con el mismo filtro 2D.

Hay varias funciones MATLAB® que realizan filtrado sin conexión 2D y multidimensional que se pueden comparar con .imfilter La función realiza correlación bidimensional, realiza la convolución bidimensional y realiza la convolución multidimensional.filter2conv2convn Sin embargo, cada una de estas funciones de filtrado siempre convierte la entrada a , y la salida siempre es .doubledouble Además, estas funciones de filtrado MATLAB® siempre asumen que la entrada es cero rellenada y no admiten otras opciones de relleno. Por el contrario, no convierte las imágenes de entrada a .imfilterdouble La función también ofrece un conjunto flexible de opciones de relleno de límites.imfilter

Filtrar imagen en escala de grises 2D con un filtro de promedio

Lea una imagen en escala de grises en el espacio de trabajo.

I = imread('coins.png');

Muestre la imagen original.

figure imshow(I) title('Original Image')

Cree un filtro normalizado de 5 por 5, con un promedio.

h = ones(5,5)/25;

Aplique el filtro de promediación a la imagen en escala de grises utilizando .imfilter

I2 = imfilter(I,h);

Muestre la imagen filtrada.

figure imshow(I2) title('Filtered Image')

Filtrar imagen multidimensional de color verdadero (RGB) mediante imfiltro

Lea una imagen truecolor en el espacio de trabajo.

rgb = imread('peppers.png'); imshow(rgb);

Cree un filtro. Este filtro de promediación contiene pesos iguales y hace que la imagen filtrada se vea más borrosa que la original.

h = ones(5,5)/25;

Filtre la imagen con y muéstrela.imfilter

rgb2 = imfilter(rgb,h); figure imshow(rgb2)

Consulte también

Temas relacionados