Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros...

49
Técnicas de Proc. Imagens Aplicações Fourier 2D

Transcript of Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros...

Page 1: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Técnicas de Proc. Imagens

Aplicações Fourier 2D

Page 2: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Transformada de Fourier 2D

Contínua

Discreta

Page 3: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Exemplos de DFT/FFT 2D

2

4

6

8

10

12

14

16Spectra

Page 4: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Pulso / Sync 2D

xy

f(x,y)

Page 5: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Amplitude e Fase

original

amplitude

fase

|F(u,v)|

F(u,v)

Page 6: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Rotação

Page 7: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Combinação Linear

Page 8: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Relação de freqüência espaço/espectro

Page 9: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Alguns pares...

Page 10: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Aplicações da FT em imagens:

Filtros Gaussiana Marr-Hildreth Convolução Descritores de fourier

Page 11: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtrando sinais 1D

Exemplo de filtro para onda 1D

sinus1= 2*sin(nn/50+1); sinus2= 5*sin(nn/20+1); sinus3= sin(nn/3+1); sinus=sinus1+sinus2+sinus3;

Page 12: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Composição do sinal

sinal1

sinal2

sinal3

Sinal=1+2+3

Page 13: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Transformada de Fourier

f(t)

f(u)

f(t)

Page 14: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Matlab

nn=1:300;sinus1= 2*sin(nn/50+1);sinus2= 5*sin(nn/20+1);sinus3= sin(nn/3+1);sinus=sinus1+sinus2+sinus3;Hsinus= fft(sinus);figure(1)subplot (3,1,1), plot(nn,sinus);subplot (3,1,2), plot(nn,real(fftshift(Hsinus)),'r-',nn,imag(fftshift(Hsinus)),'g-');Fsinus= ifft(Hsinus);subplot (3,1,3), plot(nn,Fsinus);

Page 15: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtrando no espectro

Filtro baixa freq.

F(u) = 0 | u = 1..13 |

u = 288..300

Filtro alta freq.

F(u) = 0 | u = 5..296

Page 16: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Matlab

NHsinus1=Hsinus;NHsinus2=Hsinus;for i=1:300, NHsinus2(i)=0;end;for i=1:4, NHsinus2(i)=Hsinus(i); NHsinus2(301-i)=Hsinus(301-i);end;for i=1:13, NHsinus1(i)=0; NHsinus1(301-i)=0;end;subplot(3,2,3), plot(nn,real(NHsinus1),'r-',nn,imag(NHsinus1),'g-');subplot(3,2,4), plot(nn,ifft(NHsinus1));subplot(3,2,5), plot(nn,real(NHsinus2),'r-',nn,imag(NHsinus2),'g-');subplot(3,2,6), plot(nn,ifft(NHsinus2));

Page 17: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtrando em 2D

Distribuição de freqüências em 2D

u=-N/2 u=0 u=N/2

v=N

/2

v

=0

v

=-N

/2

D0

D(u,v)

Page 18: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 19: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtro passa baixa:

Page 20: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtro passa alta

Page 21: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtro passa banda

Page 22: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Exemplo:

Page 23: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Passa baixa - resultado

Page 24: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Matlab

%%%%%%% espectro de aHa=fft2(a);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Filtragem passa baixa%%%%%%%%%%%%%%%%%%%%%%%%%%%%Hpb=fftshift(fftshift(Ha).*circ);pb=ifft2(Hpb);%figure (1)subplot (1,2,1), mesh (real(pb));subplot (1,2,2), image(abs(real(pb)));

Page 25: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Passa alta - resultado

Page 26: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Matlab

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Filtragem passa alta%%%%%%%%%%%%%%%%%%%%%%%%%%%%Hpa=fftshift(fftshift(Ha).*icirc);pa=ifft2(Hpa);%figure (2)subplot (1,2,1), mesh (real(pa));subplot (1,2,2), image(abs(real(pa))*10);

Page 27: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Passa banda - resultado

Page 28: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Matlab

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Filtragem passa freq.%%%%%%%%%%%%%%%%%%%%%%%%%%%%Hpf=fftshift(fftshift(Ha).*anel);pf=ifft2(Hpf);%figure (3)subplot (1,2,1), mesh (real(pf));subplot (1,2,2), image(abs(real(pf))*10);

Page 29: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Efeito oscilatório

Page 30: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 31: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Gaussian Filter

2

22

2 2exp

2

1,

yx

yxG

2

22

2 2

11exp

2

1,

kjki

jiH

array 1212 is , where kkjiH

Page 32: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Gaussiano x butterworth

Butterworth– corte mais abrupto

– ainda apresenta ruído oscilatório

Gaussiano– corte suave - maior blur

– não apresenta ruído oscilatório

Page 33: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Comparação passa baixa

Page 34: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 35: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

ideal

butterworth

gaussian

Page 36: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 37: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Exemplo quadrado:

Page 38: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Passa baixa

Page 39: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Passa alta

Page 40: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtrando Ruído

Page 41: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 42: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 43: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Gaussiana

Importante filtro em FT

Análise multiescala

Page 44: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Gaussian Filter

2

22

2 2exp

2

1,

yx

yxG

2

22

2 2

11exp

2

1,

kjki

jiH

array 1212 is , where kkjiH

Page 45: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 46: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 47: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 48: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa
Page 49: Técnicas de Proc. Imagens - lcad.icmc.usp.brjbatista/procimg/2016/aula_fourier_22.pdf · Filtros Gaussiana Marr ... Matlab %%%%% espectro de a Ha=fft2(a); % %%%%% %%% Filtragem passa

Filtro de Marr-Hildreth

Prova biológica– campos receptivos da retina de primatas

origem da cibernética

Livro -> Vision, David Marr