Neden FFT'nin gerçek kısmı görüntüyü döndürme + orijinal haline dönüştürüyor?


16

Bu resmi okudum:

resim açıklamasını buraya girin

tam olarak görüntüyü geri almak için FFT (2D) ve ardından Ters FFT'yi aldı. Kod referans olarak verilmiştir:

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

imshow(im); %Output is same image

Ama Fourier'i değiştirip sadece gerçek rolü üstlendiğimde,

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

Böyle bir görüntü alıyorum ( boyut değişikliğinin alakasız olduğunu ve sadece Matlab şekil işleyicisinden kaydetme nedeniyle olduğunu unutmayın ):

resim açıklamasını buraya girin

Birisi bana arkasındaki teoriyi (matematik) açıklayabilir mi? Teşekkürler

Yanıtlar:


16

Resminizin tarafından verildiğini varsayalım . Sonra Fourier dönüşümü ben(x,y)

benf(ωx,ωy)=xyben(x,y)ejωxxejωyydxdy

Şimdi gerçek kısmı al ve tersini yap:

benm(α,β)=ωxωy{benf(ωx,ωy)}ejωxαejωyβdωxdωy=ωxωy{xyben(x,y)ejωxxejωyydxdy}ejωxαejωyβdωxdωy=xyben(x,y)ωxωy{ejωxxejωyy}ejωxαejωyβdωxdωydxdy

İç integralin 'nin olan olduğunu açıkça görebilirsiniz.

marul(ωxx)marul(ωyy)+günah(ωxx)günah(ωyy)
12[δ(x-α)δ(y-β)+δ(x+α)δ(y+β)]

Sonucu ikame verir benm

benm(x,y)=12[ben(x,y)+ben(-x,-y)]

Daki durumda Tabii ki , ancak ayrık Fourier sinyal olduğunu varsayar dönüşümü -periyodik ve elde ; burada resminizin boyutlarıdır. Sanırım neden bu sonucu aldığınızı görebiliyorsunuz.x,y>0N-

benm(x,y)=12[ben(x,y)+ben(N--x,M-y)]
N-,M

Güzel cevap! +1
Peter K.

3
I think you can see now why got that result.Evet. Ancak, bu soru HNQ listesine girdiğinden, belki de daha az matematiksel eğimli sitelerden gelenler için son adımı eklemeyi düşünebilirsiniz.
Mast

9

Resim sonuç THP de çok basit cinsinden ifade edilebilir: Eğer değer olursa: Eğer sadece gerçek olarak (ters) bir Fourier Hermitesel simetriye sahip olacak dönüşümü olan bir veri kümesi varsa pozisyonunda , daha sonra başlangıç ​​noktası hakkında yansıyan konumda karmaşık eşlenik değer bulacaksınız . Buradaki kökenin Fourier-uzayının merkezi olacağını unutmayın. DC bileşeni FFT uygulamanızın merkezinde değilse, bu elbette yeniden formüle edilebilir. Ve görüntünüzde gördüğünüz şey bu: Noktadan yansıyan bir sürüm gerçek görüntüyü kaplıyor - çünkü bir alanı gerçek değer vermeye zorladınız.z(x,y)z*(-x,-y)

Bu özellik aslında bazı durumlarda manyetik rezonans görüntülemeyi (MRI) hızlandırmak için kullanılmaktadır: MRI verileri doğrudan Fourier uzayında alır. İdeal bir MR görüntüsü yalnızca gerçek değerlerle tanımlanabildiğinden (tüm uyarılmış mıknatıslanma vektörleri faz 0'a sahiptir), görüntüleme alanının yarısını koruyan veri alanının yalnızca yarısını almanız gerekir. Tabii ki, MR görüntüleri gerçekliğin sınırlamaları nedeniyle tamamen gerçek değere sahip değildir ... ancak birkaç hile ile bu tekniği yine de avantajlı bir şekilde kullanabilirsiniz.


2
ThP'nin verdiği aynı cevabı belirtmenin basit yolunu beğendim. Ve MRI hakkında bilgi için teşekkürler. Bunu bilmiyordum.
Başarısız Bilim İnsanı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.