フーリエ記述子を使用して形状境界を近似しようとしています。私はクラスでそれについて学び、いくつかの情報源でそれについて読んだので、これができることを知っています。
(x、y)座標の境界のフーリエ記述子を取得するには、次のようにします。1)(x、y)座標をx + iyの形式の複素数に変換します。2)この新しい数値のセットを1Dにフィードします。フーリエ変換3)出力はフーリエ記述子です
境界を概算するには、高周波を削除(ゼロに設定)してから、逆フーリエ変換を適用し、複素数を(x、y)座標に変換して、この新しい座標のセットから画像を再構築します。私のプロジェクトの目標は、ゼロに設定した項の数に応じて、境界をどれだけうまく近似できるかを見つけることです。
私の問題は、周波数のいずれかを0に設定すると、出力画像が非常に小さくなり、非常に奇妙なパターンとして出力されることです。
以下に例を示します。入力画像は通常の正方形です。与えられた最初の出力画像は、通常どおりすべてのフーリエ記述子を使用した画像の再構成です。境界ピクセルの数が256にサンプリングされ、出力時にドットをわざわざ接続しなかったため、境界全体が存在しないことに注意してください。また、出力は左下隅に変換されることに注意してください。これは意図的なものです。2番目の出力画像は、最初の128周波数のみを使用した場合です。
入力画像http://img19.imageshack.us/my.php?image=square0.bmp
出力画像1:すべての周波数http://img27.imageshack.us/my.php?image=square0normal.bmp
出力画像2:周波数の前半http://img23.imageshack.us/my.php?image=square0out.bmp
なぜこれが起こっているのか誰かが知っていますか?
編集:初めてここに画像を配置しますが、なぜ画像が表示されないのかわかりません。リンクは次のとおりです。
入力画像
出力
1出力2
また、これについて少し説明しているドキュメントへのリンクもあります。これは5ページの終わりから始まります。