1

3D (xyz) グリッドのスムージングに使用する方法について、一般的な質問があります。

私のプログラムには、ステレオビジョン法で取得された 3D ポイントの大きなマトリックスがあります。結果の形状は常に半球のようなものですが、立体視エラーによるしわがあります。除去したいです。

問題は、それをどのように行うかです。今、私はなだめる方法を半分開発しましたが、もっと良い方法があるかもしれないと思います.

私の実際のアイデアは、エルミート法を使用することです。アイデアは次のとおりです。

  1. すべての XY を取り、2 方向に滑らかにする -> XYnew と XnewY

  2. エルミート ラインをベジエ ラインに変換し、XYnew と XnewY の間の交点を見つけ、新しい点を持ちます。(すべてのポイントで繰り返します。通常は 2000)

  3. XYZnew を持つエルミート XYZ スムージングを使用します。

現在、エルミート サーフェス スムージングとエルミート ライン スムージングを C++ で実装していますが、中間部分は思ったほど簡単ではありません。

とにかく、私の質問は、これは正しい方法ですか、それとももっと良い方法がありますか?

もちろん、アイデアはステレオビジョン法によって生成されたエラーを排除することです.これはコンピュータグラフィックスの問題ではなく、データ処理の問題です.

付録:

最初は、Z スムージングで十分だと思いましたが、明らかにそうではありません。XY エラーも多くあります。下の画像では、Z フィッティングが機能していることがわかりますが、2 番目の画像に見られるように、まだ非常に頑丈です。(色は変形であり、かなり連続している必要があります) Z スムージングなしの画像 ここに画像の説明を入力

4

1 に答える 1

2

より良い前例がない限り、古典的なタウビンのアルゴリズムを打ち負かすことは困難です: http://mesh.brown.edu/taubin/pdfs/taubin-iccv95a.pdf

于 2012-10-04T21:05:55.737 に答える