Técnicas de Proc. Imagens Aplicações Fourier 2D. Transformada de Fourier 2D n Contínua n Discreta

  • View
    219

  • Download
    5

Embed Size (px)

Text of Técnicas de Proc. Imagens Aplicações Fourier 2D. Transformada de Fourier 2D n Contínua n...

  • Tcnicas de Proc. ImagensAplicaes Fourier 2D

  • Transformada de Fourier 2DContnua

    Discreta

  • Exemplos de DFT/FFT 2D

  • Pulso / Sync 2D

  • Amplitude e Fase originalamplitudefase|F(u,v)| F(u,v)

  • Rotao

  • Combinao Linear

  • Relao de freqncia espao/espectro

  • Alguns pares...

  • Aplicaes da FT em imagens:FiltrosGaussianaMarr-HildrethConvoluoDescritores de fourier

  • Filtrando sinais 1DExemplo 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;

  • Composio do sinalsinal1sinal2sinal3Sinal=1+2+3

  • Transformada de Fourierf(t) f(u) f(t)

  • Matlabnn=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 espectroFiltro baixa freq. F(u) = 0 | u = 1..13 | u = 288..300 Filtro alta freq. F(u) = 0 | u = 5..296

  • MatlabNHsinus1=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 2DDistribuio de freqncias em 2Du=-N/2 u=0 u=N/2v=N/2 v=0 v=-N/2D0D(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 oscilatrio

  • Gaussian Filter

  • Gaussiano x butterworthButterworthcorte mais abruptoainda apresenta rudo oscilatrio

    Gaussianocorte suave - maior blurno apresenta rudo oscilatrio

  • Comparao passa baixa

  • idealbutterworthgaussian

  • Exemplo quadrado:

  • Passa baixa

  • Passa alta

  • Filtrando Rudo

  • GaussianaImportante filtro em FT

    Anlise multiescala

    Filtros derivativos

  • Gaussian Filter

  • Filtro de Marr-HildrethProva biolgicacampos receptivos da retina de primatasorigem da ciberntica

    Livro -> Vision, David Marr

  • Marr-HildrethXY

    Sheet1

    0.00080.00660.02150.0310.02150.00660.0008

    0.00660.04380.09820.1080.09820.04380.0066

    0.02150.09820-0.24200.09820.0215

    0.0310.108-0.242-0.7979-0.2420.1080.031

    0.02150.09820-0.24200.09820.0215

    0.00660.04380.09820.1080.09820.04380.0066

    0.00080.00660.02150.0310.02150.00660.0008

    Sheet2

    Sheet3

  • Marr-Hildreth

  • Zero CrossingsDetectionEdge ImageZero Crossings

  • Convoluo A propriedade mais importante da FTMuitos filtros digitais so implementados em FT atravs desta propriedadeConv. No espao versus freqnciaDepende do tamanho da mscara o custo computacional

  • h(t) H( f ) e g(t) G( f ) (h*g)(t) H( f )G( f )

  • Spectral Filtering: Radially Symmetric FilterLow-pass Filterdemos/demo4freq_filtering/lowpass.m

    u=-N/2 u=0 u=N/2v=N/2 v=0 v=-N/2D0D(u,v)