Dlaczego prawdziwa część FFT przekształca obraz w obrót + oryginał?


16

Przeczytałem ten obraz:

wprowadź opis zdjęcia tutaj

wziął FFT (2D), a następnie Odwrotny FFT, aby odzyskać dokładnie obraz. Kod podano w celach informacyjnych:

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

imshow(im); %Output is same image

Ale kiedy zmieniam Fouriera i biorę tylko prawdziwą część,

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

Otrzymuję taki obraz ( zauważ, że zmiana rozmiaru jest nieistotna i tylko z powodu zapisania jej z programu obsługi postaci Matlaba ):

wprowadź opis zdjęcia tutaj

Czy ktoś może mi wyjaśnić teorię (matematykę), która się za tym kryje? Dzięki

Odpowiedzi:


16

Powiedzmy, że twój obraz pochodzi od . Następnie jego transformata Fouriera jest dana przez I f ( ω x , ω y ) = x y I ( x , y ) e j ω x x e j ω y y d x d yI(x,y)

jafa(ωx,ωy)=xyja(x,y)mijotωxxmijotωyyrexrey

Teraz bierzesz prawdziwą rolę i wykonujesz odwrotność:

jam(α,β)=ωxωy{jafa(ωx,ωy)}mijotωxαmijotωyβreωxreωy=ωxωy{xyja(x,y)mijotωxxmijotωyyrexrey}mijotωxαmijotωyβreωxreωy=xyja(x,y)ωxωy{mijotωxxmijotωyy}mijotωxαmijotωyβreωxreωyrexrey

sałata(ωxx)sałata(ωyy)+grzech(ωxx)grzech(ωyy)
12)[δ(x-α)δ(y-β)+δ(x+α)δ(y+β)]

jam

jam(x,y)=12)[ja(x,y)+ja(-x,-y)]

x,y>0N.

jam(x,y)=12)[ja(x,y)+ja(N.-x,M.-y)]
N.,M.

Niezła odpowiedź! +1
Peter K.

3
I think you can see now why got that result.Tak. Ponieważ jednak pytanie to trafiło na listę HNQ, być może warto rozważyć dodanie ostatniego kroku dla osób przychodzących z mniej matematycznych stron.
Maszt

9

z(x,y), wtedy znajdziesz złożoną wartość sprzężoną z w pozycji odzwierciedlonej przez punkt (-x,-y)o pochodzeniu. Zauważ, że źródłem tutaj byłby środek przestrzeni Fouriera. Można to przeformułować, oczywiście, jeśli komponent DC nie znajduje się w centrum implementacji FFT. I oto, co widzisz na swoim obrazie: wersja odzwierciedlona punktowo nakłada się na prawdziwy obraz - ponieważ zmusiłeś jedną przestrzeń do prawdziwej wartości.

Ta właściwość jest w rzeczywistości używana do przyspieszania obrazowania rezonansu magnetycznego (MRI) w niektórych przypadkach: MRI pobiera dane bezpośrednio w przestrzeni Fouriera. Ponieważ idealny obraz MR można opisać jedynie wartościami rzeczywistymi (wszystkie wzbudzone wektory magnetyzacji mają fazę 0), wystarczy zdobyć tylko połowę przestrzeni danych, co oszczędza połowę czasu obrazowania. Oczywiście obrazy MR nie są w pełni cenione ze względu na ograniczenia rzeczywistości ... ale za pomocą kilku sztuczek nadal możesz z powodzeniem korzystać z tej techniki.


2
Podobał mi się prosty sposób podania tej samej odpowiedzi, który podał ThP. I dzięki za informację o MRI. Nie wiedziałem o tym.
Failed Scientist
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.