Numpy 傅立葉變換 np.fft (5) 低頻的位置與原始圖像的關係
先看柱狀的原始圖
```python
import numpy as np
import matplotlib.pyplot as plt
import src.genpic8 as pic
if __name__ == ‘__main__’:
img = pic.backslash()
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’)
```
運行結果如下
頻率數據如下
接下來是相同的原始圖片,進行旋轉
```python
import numpy as np
import matplotlib.pyplot as plt
import src.genpic8 as pic
if __name__ == ‘__main__’:
img = pic.pillar()
from scipy.ndimage import rotate
img = rotate(img, angle=45)
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()
```
此處,我們使用 scipy.ndimage 來做旋轉。運行結果如下
頻率分布如下
結論
我們將原來的柱狀圖像進行旋轉後產生第二張圖。觀察到頻率分布的結果也是旋轉後的結果。經過數次的實驗測試,我們對於傅立葉變換 FT 所產生的頻率數據有更加深刻的概念,可以此為基礎進行傅立葉相關應用操作。