Por que parte real da FFT converte a imagem em rotação + original?

16

Eu li esta imagem:

insira a descrição da imagem aqui

FFT (2D) e FFT inverso para recuperar exatamente a imagem. O código é fornecido para referência:

imfft = fft2(photographer);
im = uint8(ifft2(imfft));

imshow(im); %Output is same image

Mas quando troco o fourier e tomo apenas a parte real,

imfft = real(fft2(photographer));
im = uint8(ifft2(imfft));
imshow(im);

Eu obtenho uma imagem como esta ( observe que a alteração de tamanho é irrelevante e apenas devido a salvá-la do manipulador de figuras do Matlab ):

insira a descrição da imagem aqui

Alguém pode me explicar a teoria (matemática) por trás disso? obrigado

Cientista com falha
fonte

Respostas:

16

Digamos que sua imagem é dada por . Então sua transformada de Fourier é dada por I f ( ω x , ω y ) = x y I ( x , y ) e j ω x x e j ω y y d x d yEu(x,y)

Euf(ωx,ωy)=xyEu(x,y)ejωxxejωyydxdy

Agora você pega a parte real e executa o inverso:

Eum(α,β)=ωxωy{Euf(ωx,ωy)}ejωxαejωyβdωxdωy=ωxωy{xyEu(x,y)ejωxxejωyydxdy}ejωxαejωyβdωxdωy=xyEu(x,y)ωxωy{ejωxxejωyy}ejωxαejωyβdωxdωydxdy

Você pode ver claramente que a integral interna é a transformada 2D de Fourier de

porque(ωxx)porque(ωyy)+pecado(ωxx)pecado(ωyy)
que é
1 12[δ(x-α)δ(y-β)+δ(x+α)δ(y+β)]

Eum

Eum(x,y)=1 12[Eu(x,y)+Eu(-x,-y)]

x,y>0 0N

Eum(x,y)=1 12[Eu(x,y)+Eu(N-x,M-y)]
N,M são as dimensões da sua imagem. Eu acho que você pode ver agora porque conseguiu esse resultado.
ThP
fonte
Boa resposta! +1
Peter K.
3
I think you can see now why got that result.Sim. No entanto, como essa pergunta chegou à lista do HNQ, talvez você devesse considerar adicionar a etapa final para aqueles que vêm de sites menos inclinados a matemática.
Mast
9

O resultado fornecido pela ThP também pode ser declarado em termos muito simples: se você possui um conjunto de dados puramente real, sua transformação (inversa) de Fourier terá simetria hermitiana: se você encontrar o valor z na posição (x,y), você encontrará o valor conjugado complexo z na posição refletida no ponto (-x,-y)sobre a origem. Observe que a origem aqui seria o centro do espaço de Fourier. Isso pode ser reformulado, é claro, se o componente DC não estiver no centro da sua implementação da FFT. E é isso que você vê na sua imagem: Uma versão refletida em pontos está sobrepondo a imagem verdadeira - porque você forçou um espaço a ser realmente valorizado.

Essa propriedade está realmente sendo usada para acelerar a ressonância magnética (RM) em alguns casos: a RM adquire os dados diretamente no espaço de Fourier. Como uma imagem MR ideal pode ser descrita apenas por valores reais (todos os vetores de magnetização animados têm a fase 0), você só precisa adquirir metade do espaço de dados, o que economiza metade do tempo de criação de imagens. Obviamente, as imagens de RM não são completamente valorizadas devido às limitações da realidade ... mas com alguns truques, você ainda pode usar essa técnica com vantagem.

M529
fonte
2
Gostei da maneira simples de declarar a mesma resposta que a ThP forneceu. E obrigado por informações sobre ressonância magnética. Não sabia disso.
Cientista com falha