Mengapa bagian nyata dari FFT mengubah gambar menjadi rotasi + asli?

16

Saya telah membaca gambar ini:

masukkan deskripsi gambar di sini

diambil FFT (2D) dan kemudian Inverse FFT untuk mendapatkan gambar kembali dengan tepat. Kode disediakan untuk referensi:

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

imshow(im); %Output is same image

Tetapi ketika saya mengubah Fourier dan hanya mengambil bagian yang sebenarnya,

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

Saya mendapatkan gambar seperti ini ( perhatikan bahwa perubahan ukuran tidak relevan dan hanya karena menyimpannya dari pengatur angka Matlab ):

masukkan deskripsi gambar di sini

Adakah yang bisa menjelaskan teori (matematika) di baliknya kepada saya? Terima kasih

Ilmuwan Gagal
sumber

Jawaban:

16

Katakanlah gambar Anda diberikan oleh . Kemudian transformasi Fouriernya diberikan oleh I f ( ω x , ω y ) = x y I ( x , y ) e j ω x x e j ω y y d x d ysaya(x,y)

sayaf(ωx,ωy)=xysaya(x,y)ejωxxejωyydxdy

Sekarang Anda mengambil bagian nyata dan melakukan kebalikannya:

sayam(α,β)=ωxωy{sayaf(ωx,ωy)}ejωxαejωyβdωxdωy=ωxωy{xysaya(x,y)ejωxxejωyydxdy}ejωxαejωyβdωxdωy=xysaya(x,y)ωxωy{ejωxxejωyy}ejωxαejωyβdωxdωydxdy

Anda dapat dengan jelas melihat bahwa integral bagian dalam adalah transformasi Fourier 2D

cos(ωxx)cos(ωyy)+dosa(ωxx)dosa(ωyy)
yang mana
12[δ(x-α)δ(y-β)+δ(x+α)δ(y+β)]

Mengganti hasilnya menjadi sayam hasil panen

sayam(x,y)=12[saya(x,y)+saya(-x,-y)]

Tentu saja dalam kasus Anda x,y>0, namun transformasi Fourier diskrit mengasumsikan sinyal Anda N- Periodik dan Anda dapatkan

sayam(x,y)=12[saya(x,y)+saya(N-x,M.-y)]
dimana N,M.adalah dimensi gambar Anda. Saya pikir Anda dapat melihat sekarang mengapa Anda mendapatkan hasil itu.
ThP
sumber
Nice answer! +1
Peter K.
3
I think you can see now why got that result. Yes. However, since this question hit the HNQ list, perhaps you would consider adding the final step for those coming in from less-mathematical inclined sites.
Mast
9

The result ThP provided can also be stated in very simple terms: If you have a data set which is purely real, its (inverse) Fourier transform will have Hermitian symmetry: If you find the value z at position (x,y), then you will find the complex conjugate value z at the point-reflected position (x,y)tentang asal. Perhatikan bahwa asal di sini akan menjadi pusat ruang Fourier. Ini dapat dirumuskan ulang, tentu saja, jika komponen DC tidak berada di pusat implementasi FFT Anda. Dan inilah yang Anda lihat dalam gambar Anda: Versi yang dipantulkan oleh titik menampilkan gambar yang sebenarnya - karena Anda memaksa satu ruang untuk dinilai secara nyata.

Properti ini sebenarnya digunakan untuk mempercepat magnetic resonance imaging (MRI) dalam beberapa kasus: MRI memperoleh data secara langsung dalam ruang Fourier. Karena gambar MR ideal hanya dapat dijelaskan dengan nilai nyata (semua vektor magnetisasi tereksitasi memiliki fase 0), Anda hanya perlu memperoleh setengah dari ruang data, yang menghemat setengah dari waktu pencitraan. Tentu saja, gambar MR tidak sepenuhnya bernilai nyata karena keterbatasan realitas ... tetapi dengan beberapa trik Anda masih dapat menggunakan teknik ini secara menguntungkan.

M529
sumber
2
Saya menyukai cara sederhana untuk menyatakan jawaban yang sama yang diberikan ThP. Dan terima kasih atas informasi tentang MRI. Tidak tahu tentang itu.
Ilmuwan Gagal