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)
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')

