FILTRAGEM NO DOMÍNIO DAS FREQUÊNCIAS (TRANSFORMADA DE FOURIER) Daniel C. Zanotta 22/05/2017
FREQUÊNCIA EM IMAGENS DIGITAIS Análise da intensidade dos NCs da imagem Banda 7 Landsat TM ao longo da distância:
FREQUÊNCIA EM IMAGENS DIGITAIS Transformada de Fourier em duas dimensões (Transformada rápida discreta): fft2 (img); Transformada de Fourier: N X ( k) x( j) j 1 ( j 1)( k 1) N 3 173 112 2 195 15 180 255 215 95 Transformada Inversa: N 1 x( j) X ( k) N k 1 ( 2 )/ N e i N 1 ( j 1)( k 1) N k Qual frequência está sendo estudada (avaliada)[hz]. X(k) Intensidade da frequência k [Dado em níveis de cinza] N Número total de pixels na imagem. j Pixel sendo analisado. [posição] x(j) Nível de cinza do pixel.
FREQUÊNCIA EM IMAGENS DIGITAIS A distribuição de frequências de uma imagem também pode ser representada pela Transformada de Fourier. Imagem original Transformada de Fourier
FREQUÊNCIA EM IMAGENS DIGITAIS Exemplos em fotografias: Imagem original Transformada de Fourier
SIMETRIA Como as imagens possuem apenas linhas e colunas numeradas de 0 a nlin (ncol) descritos por inteiros positivos, as frequências negativas no gráfico serão um espelho das frequências positivas: k 1 (u) k 1 (u) k 2 (v) k 2 (v)
REPRESENTAÇÃO DO SOMATÓRIO DAS SENÓIDES Imagem original Imagem original Ʃ
REPRESENTAÇÃO DO SOMATÓRIO DAS SENÓIDES Imagem original Transformada de Fourier
INVERSÃO DOS QUADRANTES Há a necessidade de inverter os quadrantes na imagem de frequências pois é esperado que existam muito mais baixas frequências do que altas em imagens de cenas naturais. O procedimento visa posicionar as baixas frequências no centro da imagem, enquanto as altas ficam nas bordas. imshow(abs(log(img_fft2)),[3,10]); Os valores precisam também ser re-escalonados para o intervalo 0-255 para permitir a visualização em tela, uma vez que a transformada de Fourier produz valores imaginários muito altos. A função log com base 10 (verde) pode ser utilizada para reduzir a maioria dos valores para o intervalo 0 1, e após pode-se multiplicar o resultado por 255.
MÁSCARAS DE FILTRAGEM Máscaras: É extremamente aconselhável que se use o Paint para construir máscaras de edição. As mascaras de edição serão as imagens em níveis de cinza ou PB que servirão para multiplicar, (pixel a pixel) as imagens transformadas. A máscara deve ter o mesmo número de linhas e colunas que a imagem original e, consecutivamente, que a imagem transformada. Passa Baixas Passa Altas Seletivo
ETAPAS DO PROCESSO Seletivo
EXEMPLOS DE APLICAÇÃO Atenuar o efeito de stripping nas imagens adquiridas por sensores do tipo pushbroom FFT
EXEMPLOS DE APLICAÇÃO Eliminar efeitos periódicos em imagens: FFT
EXEMPLOS Eliminar efeitos periódicos em imagens:
EXEMPLOS Eliminar efeitos periódicos em imagens:
EXEMPLOS Eliminar efeitos periódicos em imagens: FFT
EXEMPLOS DE APLICAÇÃO DETECÇÃO DE ONDULAÇÕES MARÍTIMAS
EXEMPLOS DE APLICAÇÃO DETECÇÃO DE ONDULAÇÕES MARÍTIMAS Imagem transformada Imagem filtrada Imagem original FFT
ATIVIDADE: 1º) Escolha a imagem a ser filtrada e importe ela para o workspace do Matlab; 2º) Converta a imagem do formato uint8 (inteiros 8 bits) para o formato double através da função double ; Isso permitirá fazer operações matemáticas em cima da matriz (imagem). 3º) Ao importar, escolha apenas uma camada de cada vez para trabalhar. Isso vai fazer com que a imagem fique (lin,col,1); 4º) Transforme a imagem para o domínio das frequências através da função (fft2) do Matlab; 5º) A imagem possui valores reais e imaginários devido a natureza da transformada de fourier. Visualize a transformada aplicando operação logarítmica: imshow(abs(log(img_original)),[3,10]); 6º) Inverta os quadrantes da imagem para fazer com que as baixas frequências (mais numerosas) fiquem concentradas no interior da imagem. (fftshift); 7º) Aplique a filtragem no domínio das frequências pela multiplicação pelas máscaras. A edição consiste em anular (multiplicar por 0) os elementos correspondentes às frequências que se quer atenuar/anular, e multiplicar por 1 os elementos que se quer deixar. 8º) Re-inverta os quadrantes da imagem transformada (resultante) com a mesma função (ishiftfft); 9º) Aplique a transformada inversa de Fourier ifft2 do Matlab na imagem editada para produzir o resultado da filtragem; 10º) Converta a imagem do formato double para o formato inteiros 8 bits através da função (uint8).
RESULTADO ESPERADO