2

私は、MicrosoftKinectを使用してオブジェクトの3Dモデルを作成するプロジェクトに取り組んでいました。Microsoft Kinect SDK、OpenNIを使用してオブジェクトのクラウドポイントをさまざまな角度でキャプチャし、ICPを使用してオブジェクトの3Dをマッピングおよび作成することを計画していました。上記の説明が間違っている場合は、訂正してください。私はこれでアマチュアなので、正しい方向に進んでいるかどうかは本当にわかりません。

私のハードウェアの詳細は次のとおりです-MicrosoftKinect、Windows 7-64ビット、Microsoft Visual Studio 2010、Microsoft Kinect SDK、OpenNI、Primesense、NITE(すべて.exeまたは自己抽出機能を使用してインストールされ、cmakeを使用しませんでした...私は親切ですそれを使うのにうんざりしているのです!私は非常に多くのエラーに遭遇したので!)

今のところ、Kinectを接続することができ、オンラインでいくつかのデモチュートリアルを使用して、KinectのRGBデータと深度マップを表示することができました。私はOpenNIについて読んでいましたが、それについてもあまり進歩することができませんでした。(C ++とC#にはコードがあります)今、質問-

  1. オブジェクトの各画像の「クラウドポイント」を取得するにはどうすればよいですか?これにはOpenNiを使うべきですか?

  2. 各画像のクラウドポイントを取得した後、ICPアルゴリズムを実行する予定です。これについて学び、実装するために使用できる詳細やリンクはありますか?

  3. ICPアルゴリズムを実行した後、再作成された3Dを表示する必要があるので、Visual Studio 2010自体を使用して表示する必要がありますか?

  4. .plyファイルを使用して3Dを作成するのに役立つ「Meshlab」のようなソフトウェアに出くわしました。.plyデータはKinectの深度マップから取得されます...これは私が見ることができる別の方向ですか?

ありがとうAditya

4

1 に答える 1

2
  1. Kinect は使ったことがないのでよくわかりませんが、http://borglabs.com/blog/create-point-clouds-from-kinectが参考になるかもしれません。Kinect でカメラを調整する必要があることを読んだことを覚えているようです。 http://www.vision.caltech.edu/bouguetj/calib_doc/は、カメラのキャリブレーション パラメータを決定するための良い出発点になるかもしれません。 http://opencv.willowgarage.com/wiki/は、カメラ キャリブレーションの C/C++ 実装を提供する C++ ライブラリです。 http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV6は、より Kinect 固有のソリューションのように見えます。

  2. http://vtk.org/は、ICP の実装を提供します。 http://pointclouds.org/には登録アルゴリズムも含まれています。

  3. VTK は、OpenGL をラップし、データの視覚化を容易にするクラスを提供します。おそらく、私が言及した他のライブラリのいくつかもこれを行うことができますが、私はそれらに精通していません.

  4. PLY ファイルは、多くの 3D ファイル形式の 1 つにすぎません。頂点座標と、頂点を接続して形成されるポリゴンを保持できる汎用コンテナーです。繰り返しますが、VTK は PLY や他の多くの 3D ファイル形式を読み書きするためのクラスを提供します。

于 2011-11-28T15:27:57.563 に答える