2

我正在从事一个涉及使用 Microsoft Kinect 创建对象的 3D 模型的项目。我打算使用 Microsoft Kinect SDK、OpenNI 来捕捉对象在不同角度的云点,并使用 ICP 来映射和创建对象的 3D。如果我在上面的陈述中有错误,请纠正我。由于我是这方面的业余爱好者,我真的不知道我是否朝着正确的方向前进。

我的硬件详细信息是 - Microsoft Kinect、Windows 7 - 64 位、Microsoft Visual Studio 2010、Microsoft Kinect SDK、OpenNI、Primesense、NITE(全部使用 .exe 或自提取器安装,我没有使用 cmake...我有厌倦了使用它!因为我遇到了很多错误!)

到目前为止,我已经能够连接我的 Kinect 并使用一些在线演示教程,我能够查看 RGB 数据和 Kinect 的深度图。我正在阅读有关 OpenNI 的信息,但也无法在这方面取得太大进展。(有 C++ 和 C# 中的代码)现在的问题 -

  1. 如何获得我为对象拍摄的每张图像的“浊点”?我应该为此使用 OpenNi 吗?

  2. 在获得每个图像的浊点后,我计划运行 ICP 算法。我可以使用任何详细信息或链接来了解并实施它吗?

  3. 运行 ICP 算法后,我需要显示重新创建的 3D,所以我应该使用 Visual Studio 2010 本身吗?

  4. 我遇到了一些软件,例如“Meshlab”,它们可以帮助使用 .ply 文件创建 3D。.ply 数据是从 Kinect 的深度图获得的……这是我可以关注的另一个方向吗?

谢谢阿迪亚

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 文件格式中的一种……它是一个通用容器,可以保存顶点坐标和通过连接顶点形成的多边形。同样,VTK 提供了用于读/写 PLY 以及许多其他 3D 文件格式的类。

于 2011-11-28T15:27:57.563 回答