【问题标题】:Using OpenNI and Kinect to get cloud points使用 OpenNI 和 Kinect 获取云点
【发布时间】:2011-11-28 06:27:27
【问题描述】:

我正在从事一个项目,该项目涉及使用 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 的深度图获得的...这是我可以查看的另一个方向吗?

谢谢 阿迪亚

【问题讨论】:

    标签: c# kinect openni


    【解决方案1】:
    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 文件格式的类。

    【讨论】:

    • 非常感谢您的建议!..我会尽快回复我的发现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2015-05-10
    相关资源
    最近更新 更多