Numpy 傅立葉變換 np.fft (2.2) 低頻的位置
首先我們先使用一個全白色的原始圖像陣列做 FT ,然後觀察低頻數據的位置。代碼如下:
import numpy as np import matplotlib.pyplot as plt import src.genpic8 as pic if __name__ == '__main__': img = pic.full() fft = np.fft.fft2(img) amp_spectrum_nl = np.abs(np.fft.fftshift(fft)) amp_spectrum = amp_spectrum_nl plt.subplot(121), plt.imshow(img, cmap='gray', vmin=0, vmax=255) plt.title('Input Image'), plt.xticks([]), plt.yticks([]) plt.subplot(122), plt.imshow(amp_spectrum, cmap='gray') plt.title('FT'), plt.xticks([]), plt.yticks([]) plt.show() print('end')
程式的步驟和之前完全一樣,與 Lena 不同,這次我們沒有加 log 運算。下圖左方為原始圖像,右邊是 FT 之後的頻率數據。中間的白色是低頻所在的位置。我們再觀察實際數據,如下圖。
結論
我們使用全白的陣列做為原始圖像,產生出一個最低的變化量。然後觀察低頻的位置,此位置是經過 shift 之後的位置。
下一篇我們將觀察原始圖像的變化與頻率的位置。