私はフーリエ記述子を使用して単純な形状を認識するためのシンプルなシステム構築しようとしています上の図形の特徴を抽出する:(下記リンク)
を:私は私のプログラムに高速フーリエ変換のこの実装を使用しています をhttp://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_%28part_1%29フーリエ変換とフーリエ記述子は、Java
fft(double[] inputReal, double[] inputImag, boolean direction)
入力は、(本質的にX、境界パラメータのy座標は、私は)実およびIMAG部 出力が変換実数およびIMAG数です。
質問:私のシンプルな図形の不変記述子として出力(変換された実数、画像)を使用するにはどうすればよいですか?
これは私が考えたものだった:
- は、各Nステップのために
R = sqrt(real^2 + imag^2)
を計算します。 R
をR[1]
で除算すると、それを不変にする正規化係数です。
私の記述子が不変ではありません...私は思う:
問題は、私は他の言葉で
(ように適用わずかな回転、などなど)、わずかに異なる画像のための非常に異なるR値を取得することです私はR値を得ることに間違ったことをしています。
フーリエ級数のための素晴らしいサイトは、それを見てください[フーリエ級数](http://www.falstad .com/fourier /) – Tirtha