所以我正在做一些關於Numpy的Python衍生作業。我的結果根本不會證明他們應該有什麼,我很困惑。Matlab和Numpy + Python FFT2之間的不一致?
我用來生成的FFT的代碼如下:
Python:
aperaturearray = np.array(im) # Turn image into numpy array
Ta = np.fft.fftshift(np.fft.fft2(aperaturearray))
### I did some calculations here ###
ftfm = Image.fromarray(np.uint8(Utfm))
ftfm.save(("Path"))
Matlab:
rect = imread('PATH\pyRectangle.jpg');
rectfft = fft2(rect);
imwrite(rectfft, 'C:\Users\Dan\Documents\python\DiffPhotos\matlabRectfft','jpg')
pyrectmat = ifft2(pyfftrect);
imwrite(pyrectmat, 'Path','jpg')
的圖像的位置 - >http://imgur.com/a/3Cw81#EdFoA
現在,這是怎麼回事呢?爲什麼FFT圖像如此不同?不同的實現?爲什麼我的作業代碼工作:(
我沒有背景來回答你的問題,但從查看Python位,我建議你多說一點你如何加載「im」變量,什麼「###我在這裏做了一些計算# ##「表示Ta和Utfm是什麼以及它們是如何相關的等等。對你的代碼的一些理解和你正在尋找的東西對於回答你的問題是非常重要的,而且我真的不明白任何人都可以得到多大的幫助關於你給出的Python片段的信息。 (可能還有一些Matlab位缺失的部分,但我評估的能力較差。) – 2011-03-24 09:19:18