2Dフーリエ変換(numpy)

In [5]:
import cv2
import numpy as np
from matplotlib import pyplot as plt

%matplotlib inline

img = cv2.imread('lena.jpg',0)       #画像読込

f = np.fft.fft2(img)                #2D FFT
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() 
inserted by FC2 system