2009-03-05 16 views
2

フーリエ記述子を使用してシェイプ境界を近似しようとしています。私はクラスでそれについて学び、いくつかの情報源でそれについて読むことができたので、これを行うことができます。フーリエ記述子を使用してシェイプ境界を近似する

(x、y)の境界のフーリエ記述子を得るためには、座標、私は、次のか: 1)電源を入れ(x、y)は、X + IY 2形式の複素数に座標)この新しいフィード1次元フーリエ変換への数値のセット 3)出力はフーリエ記述子です

境界を近似するには、単に高周波数を除去(ゼロに設定)して逆フーリエ変換を適用し、次に複素数を変換します(x、y)座標に戻し、この新しい座標セットから画像を再構成する。私のプロジェクトの目標は、ゼロに設定した用語の数に応じて境界線をどれくらい近似できるかを調べることです。

私の問題は、周波数のどれかを0に設定すると、出力画像が非常に小さく、非常に奇妙なパターンとして出てくるということです。

以下に例を示します。入力画像は通常の正方形です。与えられた最初の出力画像は、すべてのフーリエ記述子を通常のように使用して画像を再構成することです。境界ピクセルの数は256にサンプリングされ、出力時にはドットの接続が気にならなかったので、境界全体が存在しないことに注意してください。また、出力は左下に翻訳されていることに注意してください。 2番目の出力イメージは、最初の128個の周波数のみを使用するときです。

Input Image http://img19.imageshack.us/my.php?image=square0.bmp

Output Image 1: All frequencies http://img27.imageshack.us/my.php?image=square0normal.bmp

Output Image 2: First half of frequencies http://img23.imageshack.us/my.php?image=square0out.bmp

誰もがこれが起こっかもしれない理由の任意のアイデアを持っていますか?

編集:初めてここに画像を置くことなく、彼らが表示されない理由を確認してください。..ここにリンクされている:
Input image
Output1
Output2

また、ここでは、link to a document that talks about this a bitですそれはページ5の最後に始まります。

+0

私は[0,1]間隔に画像座標を正規化してから、フーリエ変換を行い、出力で非正規化を試みます。 – Ismael

+0

精度が失われているようですが、フーリエ変換には関係していないようです。最初の出力が正しく見えるからです。あなたは別の写真を試しましたか?私は何か非対称であることを示唆したい。 – Ismael

+0

これは実際に画像のスケール以外の結果に実際に影響を及ぼしますか?私は実際にどのように表示されます.. – MahlerFive

答えて

1

あなたが得ている結果は、高いものの代わりに低い周波数を捨てた場合に期待されるものです。あなたはどの周波数がどれくらい確実か?

+0

明らかに低い周波数は最後の数個の記述子であり、最初の数個のものではありません...私はどの周波数がゼロになるかを逆転させました。 – MahlerFive

+0

ちょうど私が間違っていたことに気がつきました。そして、配列の中央にある記述子は低周波なので、中心から外に向かってゼロにしました。 – MahlerFive