作成
Pythonで画像のパワースペクトル
### numpy に FFTの関数があったので・・・c++のfftwとか勉強して使ってた時代がなついw ###source import numpy as np import cv2 import matplotlib.pyplot as plt # 画像読込→グレースケール img = cv2.imread("test.jpg") img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 2次元FFT img_fft = np.fft.fft2(img_gray) # 象限の入れ替え。 img_fft = np.fft.fftshift(img_fft) # パワースペクトル img_power = 20*np.log(np.abs(img_fft)) # 描画 plt.imshow(img_gray, cmap = 'gray') plt.show() plt.imshow(img_power , cmap = 'gray') plt.show() ###center 元画像(img://1/180m) 画像の中央が低周波(img://1/181m) ###title 補足 ###memo ###source img_fft = np.fft.fftshift(img_fft) ###memo この関数の機能は 2次元FFT→直流成分が配列の左上に→直流成分を中心に移動。 ようは、#B#見やすくするために 、第1象限(右上)と第3象限(左下)、第2象限(左上)と第4象限(右下)を入れ替えます。というものです。これしないと、こうなります。 ###center fftshiftしない場合(img://1/182m)
wakatta 記法
投稿の仕方
基本的な記法
エンジニア向け記法
記法のサンプル
このコンテンツを見る