Eu estava apenas aprendendo sobre o domínio da frequência nas imagens.
Eu posso entender o espectro de frequências em caso de ondas. Denota quais frequências estão presentes em uma onda. Se desenharmos o espectro de frequência de , obtemos um sinal de impulso em e . E podemos usar os filtros correspondentes para extrair informações específicas.
Mas o que significa espectro de frequências no caso de imagens? Quando tiramos a FFT de uma imagem no OpenCV, obtemos uma imagem estranha. O que essa imagem indica? E qual é a sua aplicação?
Eu li alguns livros, mas eles dão muitas equações matemáticas, e não a implicação física. Então, alguém pode fornecer uma explicação simples do domínio da frequência nas imagens com uma simples aplicação no processamento de imagens?
fonte
Respostas:
As "equações matemáticas" são importantes, portanto, não as pule completamente. Mas a 2ª FFT também tem uma interpretação intuitiva. Para ilustração, calculei a FFT inversa de algumas imagens de exemplo:
Como você pode ver, apenas um pixel é definido no domínio da frequência. O resultado no domínio da imagem (eu apenas mostrei a parte real) é um "padrão de cosseno girado" (a parte imaginária seria o seno correspondente).
Se eu definir um pixel diferente no domínio da frequência (na borda esquerda):
Eu recebo um padrão de frequência 2D diferente.
Se eu definir mais de um pixel no domínio da frequência:
você obtém a soma de dois cossenos.
Assim, como uma onda 1d, que pode ser representada como uma soma de senos e cossenos, qualquer imagem 2d pode ser representada (falando livremente) como uma soma de "senos e cossenos girados", como mostrado acima.
Denota as amplitudes e frequências dos senos / cossenos que, quando somados, fornecerão a imagem original.
Há realmente muitos para nomear todos eles. A correlação e a convolução podem ser calculadas com muita eficiência usando uma FFT, mas isso é mais uma otimização, você não "olha" para o resultado da FFT. É usado para compactação de imagem, porque os componentes de alta frequência geralmente são apenas ruído.
fonte
InverseFourier
função do Mathematica . Oitava / Matlab nãoifft2
faz o mesmo?Eu acho que isso foi colocado muito bem no conhecido "guia DSP" ( capítulo 24, seção 5 ):
Portanto, existe, é claro, alguma estrutura e significado por trás do padrão aparentemente aleatório obtido pela captura da DFT de uma imagem típica (como o exemplo abaixo), mas não é de uma forma que o cérebro humano esteja preparado para entender intuitivamente, pelo menos em relação à percepção visual.
Aqui está outra exposição interessante e bastante legível do que está contido em uma transformação de Fourier de uma imagem e como ela pode ser interpretada. Tem uma série de imagens que deixam bem claro qual é a correspondência entre a imagem transformada de Fourier e a imagem original.
editar: veja também esta página , que demonstra - próximo ao fim - como a maioria das informações perceptualmente importantes de uma imagem é armazenada no componente de fase (ângulo) da representação de frequência.
edit 2: outro exemplo do significado de fase e magnitude na representação de Fourier: "Seção 3.4.1, Importância da fase e magnitude" do livro de TU Delft " Fundamentos do processamento de imagens " demonstra isso claramente:
fonte
A onda é uma onda unidimensional; depende apenas de . A onda é uma onda bidimensional. Depende de e . Como você vê, você tem duas frequências, em qualquer direção.f(t)=cos(ωt) t f(x,y)=cos(ωx+ψy) x y
Portanto, a transformada de Fourier (FFT) de fornecerá , assim como a FFT de fornece . E se sua entrada é uma função que soma cossenos 2D, então sua FFT 2D será a soma das frequências desses cossenos - novamente uma analogia direta da 1D FFT.cos(ωx+ψy) ω,ψ cos(ωx) ω
fonte
Pode-se notar que a Análise de Fourier é um caso especial de um conceito chamado funções ortogonais . A idéia básica é que você divida um sinal complicado em uma superposição linear de funções "básicas" mais simples. Você pode fazer seu processamento ou análise com base nas funções e depois somar os resultados das funções básicas para obter o resultado do sinal original.
Para que isso funcione, existem certos requisitos matemáticos para as funções básicas, ou seja, elas formam idealmente uma base ortonormal. No caso da Transformada de Fourier, as funções básicas são exponenciais complexas. No entanto, existem muitas outras funções que podem ser usadas para isso também.
fonte
Nas imagens, o aumento da frequência está associado a transições mais bruscas de brilho ou cor. Além disso, o ruído é geralmente incorporado na extremidade alta do espectro, portanto a filtragem passa-baixo pode ser usada para redução de ruído.
fonte
neste contexto, uma demonstração muito boa: http://bigwww.epfl.ch/demo/basisfft/index.html
fonte