我有一個簡單的一維數組,如[0,0,0,0,0,1,1,1,1,1,0,0,0,0,0]
,它描述了一個方形脈衝。我想這種衝動轉化到頻域,並通過使用下面的代碼繪製其幅度譜(我是從OpenCV Python Tutorials):一維數組的Numpy FFT(快速傅立葉變換)
squareimpulse = np.array([0,0,0,0,0,1,1,1,1,1,0,0,0,0,0])
img = (squareimpulse)
f = np.fft.fft(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20*np.log(np.abs(fshift))
plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(magnitude_spectrum, cmap = 'gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.show()
該腳本正常工作與f = np.fft.fft2(img)
但不能用於二維數組我的情況我只有一個維度。
希望我們能弄明白這一點。