Señales aleatorias y filtrado de imágenes

De MateWiki
Revisión del 13:02 25 ene 2015 de Ainara (Discusión | contribuciones) (Realizar un filtro Low-Pass en dos dimensiones tomando variables separadas para (x) e (y))

Saltar a: navegación, buscar


Trabajo realizado por:

  • David Cabrero Sañudo
  • Ainara Contreras Echebarria
  • Roberto Rodríguez Gallego

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

Filtro Low-Pass

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.

Filtro Low-Pass

1.2 Aplicar una ventana de Hamming al filtro

Ventana Hamming

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.

Ventana Hamming

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


Filtro Low-Pass
Filtro Low-Pass