日記/2010-04-05/octave で画像処理 - 2 次元 FFT の意味
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
* octave で画像処理 - 2 次元 FFT の意味 [#t45aad8e]
[[前回>日記/2010-04-04/octave で画像処理 - 2 次元 FFT]]は...
空間周波数領域のある1点のみに値を設定し,他を0とするこ...
#ref(impulse_freq.png,center)
とりあえず行列を作ります.
octave:1> y = zeros(256); # 256x256 の零行列を...
octave:2> y ( 3+1,4+1 ) = 1000; # 値を設定
行列の場合,y ( row, column ) という表記なので,引数の縦...
この行列の値を画像として表示します.
octave:3> imshow ( y );
#ref(impulse_freq_mat.png,center)
逆 FFT にかけます.
octave:5> x = ifft2 ( y );
画像として表示してみます.
octave:8> imshow ( real(x)*50 );
実は,エイリアジング領域の値の設定をサボっているので,空...
real() で実数部だけ抜き出しているのはそのためです.
#ref(impulse_space.png,center);
グラデーションのかかったシマシマ模様が現れました.
波の立っている水面のようになっているわけです.
波の数を数えてみましょう.
横方向には4,縦方向には3,ですね.
この値…空間周波数領域で最初に値を設定した点の座標ですね.
空間周波数領域の他の象限については下図のようになります.
#ref(space_frequency_quadrant.png,center,50%)
2 次元 FFT で得られた空間周波数領域での各点の値は,元の画...
終了行:
* octave で画像処理 - 2 次元 FFT の意味 [#t45aad8e]
[[前回>日記/2010-04-04/octave で画像処理 - 2 次元 FFT]]は...
空間周波数領域のある1点のみに値を設定し,他を0とするこ...
#ref(impulse_freq.png,center)
とりあえず行列を作ります.
octave:1> y = zeros(256); # 256x256 の零行列を...
octave:2> y ( 3+1,4+1 ) = 1000; # 値を設定
行列の場合,y ( row, column ) という表記なので,引数の縦...
この行列の値を画像として表示します.
octave:3> imshow ( y );
#ref(impulse_freq_mat.png,center)
逆 FFT にかけます.
octave:5> x = ifft2 ( y );
画像として表示してみます.
octave:8> imshow ( real(x)*50 );
実は,エイリアジング領域の値の設定をサボっているので,空...
real() で実数部だけ抜き出しているのはそのためです.
#ref(impulse_space.png,center);
グラデーションのかかったシマシマ模様が現れました.
波の立っている水面のようになっているわけです.
波の数を数えてみましょう.
横方向には4,縦方向には3,ですね.
この値…空間周波数領域で最初に値を設定した点の座標ですね.
空間周波数領域の他の象限については下図のようになります.
#ref(space_frequency_quadrant.png,center,50%)
2 次元 FFT で得られた空間周波数領域での各点の値は,元の画...
ページ名:
-->