TRANSFORMACIONES LOCALES

Matlab dispone de las funciones conv2 y corr2 para la realización de convoluciones y correlaciones pero existe una función específica para imágenes: imfilter.

a = imread('cameraman.tif');figure(1),imshow(a)
figure(2),imshow(imfilter(a,ones(3,3)/9))

la función fspecial permite generar un amplio rango de máscaras y filtros:

f1=fspecial('average',5);
f2=fspecial('disk',5);
f3=fspecial('gaussian',15,1.5);
f4=fspecial('motion',9,45);

estos filtros también pueden visualizarse; como imágenes o como superfícies

figure(3),imagesc(f3)
figure(4),surf(f3)

Las opciones por defecto de la función imfilter se corresponden con imfilter(I,f,0,'same','corr');

Ejercicios:

  1. Aplicar los filtros f1 a f4 a la imagen a y a la misma con ruido gaussiano y de sal y pimienta. (Mira la ayuda de la función de Matlab imnoise y estudia sus opciones).

  2. Comprobar que se cumple la propiedad asociativa para la convolucion: (a*f3)*f4=I*(f3*f4). Utiliza la función conv2 para convolucionar los filtros.

  3. Comprueba el funcionamiento de las opciones de borde de la función imfilter. Usa también la imagen rice.png

Debes mostrar los ejercicios resueltos y los resultados correspondientes al profesor durante la sesión.