Señales aleatorias y filtrado de imágenes
Trabajo realizado por:
- David Cabrero Sañudo
- Ainara Contreras Echebarria
- Roberto Rodríguez Gallego
Contenido
- 1 Procesamiento de imágenes (Oversampling)
- 1.1 Generar un filtro Low pass que contenga 2N + 1 elementos
- 1.2 Aplicar una ventana de Hamming al filtro
- 1.3 Realizar un filtro Low-Pass en dos dimensiones tomando variables separadas para (x) e (y)
- 1.4 Aplicar un factor de ampliación a una imagen
- 1.5 Aplicar un factor de ampliación a una imagen, aplicando un filtro con la ventana de Hamming
- 1.6 Multiplicar el tamaño de la imagen lena por cuatro y aplicar un filtro con 2N + 1 valores siendo N=10
- 1.7 Realizar lo mismo que en el ejercicio anterior pero con N=1
1 Procesamiento de imágenes (Oversampling)
El proceso de Oversampling consiste en aumentar el número de pixeles de la imagen original.
1.1 Generar un filtro Low pass que contenga 2N + 1 elementos
En la imagen de la izquierda vemos 15 puntos ya que el valor de N introducido a sido de 7 (2N + 1 = 15) y en la imagen de la derecha podemos ver el filtro en tres dimensiones.
1.2 Aplicar una ventana de Hamming al filtro
Igual que para el filtro de Low-Pass vemos que en la imagen de la izquierda nos aparecen 15 puntos y en la imagen de la derecha vemos la representación en tres dimensiones. Al aplicarle la ventana de Hamming lo que conseguimos es amortiguar las altas frecuencias y amoldarse mejor a las bajas frecuencias.
1.3 Realizar un filtro Low-Pass en dos dimensiones tomando variables separadas para (x) e (y)
La aplicación de un filtro de frecuencia baja tiene el efecto de eliminar frecuencias altas y medias dando como resultado una imagen que tiene un menor contraste, una apariencia más suave. Es por esto que este proceso es también denominado “suavización de imágenes” (image smoothing) y al filtro de frecuencia baja se le llama filtro de suavizado o de homogeneización (smoothing filter).
%N es el número de elementos del filtro
%M es la proporción de frecuencias que queremos eliminar
Nx=7;
Mx=4;
Ny=7;
My=4;
% Filtros para x e y
h1=filtrolp(Nx,Mx);
h2=filtrolp(Ny,My);
% Filtros para x e y (hamming)
h1m=filtrolph(Nx,Mx);
h2m=filtrolph(Ny,My);
% filtro dos dimensiones low pass
subplot(1,2,1)
h=h1'*h2;
surf(h)
title('low pass')
% filtro dos dimensiones Hamming
subplot(1,2,2)
hm=h1m'*h2m;
surf(hm)
title('Hamming')
% dtft con low pass
DTFTh=fftshift(abs(fft2(h,2^6,2^6)));
n1=2^6; n2=2^6; p1=1/n1; p2=1/n2;
tau1=[-1/2:p1:1/2-p1];
tau2=[-1/2:p2:1/2-p2];
[tt1,tt2]=meshgrid(tau1,tau2)
figure(2)
subplot(1,2,1)
surf(tt1,tt2,DTFTh)
title('DTFT low pass')
%dtft con hamming
DTFThm=fftshift(abs(fft2(hm,2^6,2^6)));
subplot(1,2,2)
surf(tt1,tt2,DTFThm)
title('DTFT Hamming')
1.4 Aplicar un factor de ampliación a una imagen
El primer paso será añadir M-1 ceros entre cada dos valores de la muestra inicial y luego aplicarle el filtro de Low-Pass.
1.5 Aplicar un factor de ampliación a una imagen, aplicando un filtro con la ventana de Hamming
1.6 Multiplicar el tamaño de la imagen lena por cuatro y aplicar un filtro con 2N + 1 valores siendo N=10
%leer la imagen
lena=imread('lena.jpg','jpeg');
%multiplicar por 4 la imagen
N=10;
M=4;
figure (1)
h=1/M;
lena4=lena(1:h:512,1:h:512);
imagesc(lena4);
colormap('gray');
axis('image');
title('imagen x 4')
%aplicar un filtro low pass
theta=pi*[1:N];
h=sin(2*theta/(2*M))./theta;
h=[fliplr(h) 1/M h];
h=h/(sum(h))*M;
hb2=h'*h
lenafil=filter2(hb2,lena4);
%anadir ventana Hamming
theta=pi*[1:N];
h=sin(2*theta/(2*M))./theta;
hh=h.*(0.54+0.46*cos(pi*theta/N));
%simetrizamos
hh=[fliplr(hh) 1/M hh];
hh=hh/(sum(hh))*M; % evitamos que el filtro amplifique la senal
z=hh;
hb3=hh'*hh;
lenafil2=filter2(hb3,lena4);
%dibujar
figure(2)
subplot(1,2,1)
imagesc(lenafil);
colormap('gray');
axis('image');
title('low pass')
subplot(1,2,2)
imagesc(lenafil2);
colormap('gray');
axis('image');
title('hamming')
En la imagen de la izquierda vemos la imagen ampliada, es decir, que paso de tener (512 x 512) pixeles a tener (2048 x 2048) pixeles. En la imagen de la derecha vemos primero la imagen aplicándole el filtro de Low-Pass y en la segunda imagen aplicándole la ventana de Haming.
En la siguiente imagen hemos ampliado una zona para poder apreciar mejor cuales son los resultados del filtro, y vemos que aplicándole el filtro Low-Pass la imagen se ve mejor y al añadirle la ventana de Hamming que lo que hace es suavizar la imagen.

