FILTRAGEM NO DOMÍNIO DAS FREQUÊNCIAS (TRANSFORMADA DE FOURIER) Daniel C. Zanotta 04/06/2015
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: Transformada Inversa: Transformada de Fourier em duas dimensões (Transformada rápida discreta): fft2 (x); K Qual freqüência está sendo estudada (avaliada). N Numero total de pixels na imagem. j Pixel sendo analisado. 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 A distribuição de frequências de uma imagem também pode ser representada pela Transformada de Fourier. 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: 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.
Filtragem no Domínio das Frequências 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:
Filtragem no Domínio das Frequências 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. vermelho representa a base e, verde a base 10, e lilás a base 1,7.
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.
EXEMPLOS Atenuar o efeito de stripping nas imagens adquiridas por sensores do tipo pushbroom FFT
EXEMPLOS Eliminar efeitos periódicos em imagens: FFT
EXEMPLOS DETECÇÃO DE ONDULAÇÕES MARÍTIMAS
EXEMPLOS DETECÇÃO DE ONDULAÇÕES MARÍTIMAS Imagem transformada Imagem filtrada Imagem original FFT
EXEMPLOS Eliminar efeitos periódicos em imagens:
EXEMPLOS Eliminar efeitos periódicos em imagens:
EXEMPLOS Eliminar efeitos periódicos em imagens: 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(trans_agricultura)),[3,10]); 6º) Inverta os quadrantes da imagem para fazer com que as altas 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