難解かな、フーリエ変換
 K氏に助けてもらいながら、本日〆切の画像処理のレポートを考えています。

 作るプログラムは、
二つの画像のPower成分と位相成分とを合成させるプログラム

なのですが、まずはフーリエ変換をプログラム的にどう処理しているのかから考えました(授業でも説明していただいているはずですが、どうも右から左へ抜けてしまったようで・・・)。

 しかし!プログラムを考える以前に、FFT1.h、FFT2.hが何をしているか、という時点で、何時間も悩んでおります。

 とりあえずわたっていることを整理しましょう。
・FFT1.hは、一次元のフーリエ変換を行っている。
・FFT2.hは、FFT1.hを使って、二次元のフーリエ変換を行っている。
程度のことはわかった(つもりになっている)のですが、
・FFT2.hのプログラムでは、
void FFT2( int flag )
/* 元データを data, jdata, num_of_data に代入してから使う */
/* flag = 1 : 2次元 FFT, flag = -1 : 2次元逆 FFT */
{
int i, j; /* ループ変数 */
static double re[FFT_MAX], im[FFT_MAX]; /* 作業変数 */

for ( i = 0; i < num_of_data; i ++ ){
for ( j = 0; j < num_of_data; j ++ ){
re[j] = data[i][j];←実数部の作業変数にデータを入れている
im[j] = jdata[i][j];←虚数部の作業変数にデータを入れている
}
FFT1( re, im, num_of_data, flag );←FFT1関数を発動
for ( j = 0; j < num_of_data; j ++ ){
data[i][j] = re[j];←今度は、FFT処理したデータを戻している
jdata[i][j] = im[j];←同上
}
}←ここで、一旦、すべての配列のデータがFFT処理されたことになる。
 ここで、わからないのは、以下。
for ( i = 0; i < num_of_data; i ++ ){
for ( j = 0; j < num_of_data; j ++ ){
re[j] = data[j][i];←ここでは、FFT処理したデータを作業部に入れている!
im[j] = jdata[j][i];←(続き)それも、今度は縦方向!なぜ?
}
FFT1( re, im, num_of_data, flag );←ここで、またFFT処理をしている
for ( j = 0; j < num_of_data; j ++ ){
data[j][i] = re[j];←ここで、FFT処理済データをさらにFFT処理してデータを戻す
jdata[j][i] = im[j];←同上
}
}
}

 なぜ、このようにしているのか。それは、講義ノートに答えがあった。重積分しているからだ!つまり、2回サンメンションしている、ということ(デジタルは非連続なので)。二次元のフーリエ変換は、2回サンメンションしないとフーリエ変換にならないんだ!

 

 




 今回は、何人かの力を借りて、なんとか完成。
 プログラム作成以前に、フーリエ変換について、かなり調べたので、ちょっとはわかったかもしれない。
a0014712_4413111.jpg


 フーリエ変換、オイラーの公式、マクローリン展開と、数学って、おもしろいな、と思った。もっと勉強したいな。

◎参考文献・リンク
うさぎでもわかるフーリエ変換
オイラーの公式(Wikipedia)
第5 回 フーリエ変換の実際の計算法(PDF). 断層映像研究会雑誌27巻3号,2000
http://www.metro-hs.ac.jp/rs/sinohara/
[PR]
by viewtleaf | 2005-02-10 01:30 | 画像処理
<< 中間発表、近づく もうすぐ修論の中間発表 >>



毎日起こった出来事を記入し、「振り返り」に活用したいと思います。写真は我が子の作品。
by viewtleaf
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
検索
カテゴリ
全体
Diary
学校での取り組み全般
バレーボール
修論
Linux
Network
Security
Software
総合関係
Medical treatment
JAVAプログラミング
研究会等
特別支援
Fishing
流体力学
機械工学
画像処理
電気工学
情報工学
木材加工
異文化間教育
ビデオ編集
イギリスの学校
書評
リンク
金属加工
学ぶ・わかる
Bowling
Hardware
麺類
Piano
English
パズル
卓球
未分類
フォロー中のブログ
異能者集団のチームワーキング
私たちにもできる!国際協力
ジャストジャンプ3@フレ...
その他のジャンル
記事ランキング
ブログジャンル
画像一覧