Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係
本篇我們觀察原始圖像不同方向的變化,對頻率的位置產生的影響。先是上白下黑的原始圖像陣列,經過 FT 的頻率域分布。
import numpy as np import matplotlib.pyplot as plt import src.genpic8 as pic if __name__ == '__main__': img = pic.v_half() 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('v_half'), plt.xticks([]), plt.yticks([]) plt.show() print('end')
結果如下圖
下圖是頻率數據
然後,我們換成左白右黑的圖。
import numpy as np import matplotlib.pyplot as plt import src.genpic8 as pic if __name__ == '__main__': img = pic.h_half() 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('v_half'), plt.xticks([]), plt.yticks([]) plt.show() print('end')
下圖是頻率數據
結論
透過觀察以兩張圖,我們發現頻率域的分布,和原始圖像變化的方向一致,比如第一張圖,變化的方白是上下,頻率的分布是直向。第二張圖變化的方向是左右,頻率的分布為橫向。
下一篇我們觀黑白交錯的原始圖像會產生什麼樣的頻率分布