Upload
internet
View
112
Download
1
Embed Size (px)
Citation preview
Técnicas de Proc. Imagens
Aplicações Fourier 2D
Transformada de Fourier 2D
Contínua
Discreta
Exemplos de DFT/FFT 2D
2
4
6
8
10
12
14
16Spectra
Pulso / Sync 2D
xy
f(x,y)
Amplitude e Fase
original
amplitude
fase
|F(u,v)|
F(u,v)
Rotação
Combinação Linear
Relação de freqüência espaço/espectro
Alguns pares...
Aplicações da FT em imagens:
Filtros Gaussiana Marr-Hildreth Convolução Descritores de fourier
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;
Composição do sinal
sinal1
sinal2
sinal3
Sinal=1+2+3
Transformada de Fourier
f(t)
f(u)
f(t)
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);
Filtrando no espectro
Filtro baixa freq.
F(u) = 0 | u = 1..13 |
u = 288..300
Filtro alta freq.
F(u) = 0 | u = 5..296
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));
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)
Filtro passa baixa:
Filtro passa alta
Filtro passa banda
Exemplo:
Passa baixa - resultado
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)));
Passa alta - resultado
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);
Passa banda - resultado
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);
Efeito oscilatório
Gaussian Filter
2
22
2 2exp
2
1,
yx
yxG
2
22
2 2
11exp
2
1,
kjki
jiH
array 1212 is , where kkjiH
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
Comparação passa baixa
ideal
butterworth
gaussian
Exemplo quadrado:
Passa baixa
Passa alta
Filtrando Ruído
Gaussiana
Importante filtro em FT
Análise multiescala
Gaussian Filter
2
22
2 2exp
2
1,
yx
yxG
2
22
2 2
11exp
2
1,
kjki
jiH
array 1212 is , where kkjiH
Filtro de Marr-Hildreth
Prova biológica– campos receptivos da retina de primatas
origem da cibernética
Livro -> Vision, David Marr