我正在开发一个项目,涉及使用Microsoft Kinect创建对象的3D模型 . 我计划使用Microsoft Kinect SDK,OpenNI以不同的角度捕获对象的 Cloud 点,并使用ICP来映射和创建对象的3D . 如果我在上面的陈述中错了,请纠正我 . 由于我是业余爱好者,我真的不知道我是否朝着正确的方向前进 .
我的硬件细节是 - Microsoft Kinect,Windows 7 - 64位,Microsoft Visual Studio 2010,Microsoft Kinect SDK,OpenNI,Primesense,NITE(全部使用.exe或自解压器安装,我没有使用cmake ...我有点亲切厌倦了使用它!因为我遇到了很多错误!)
截至目前,我已经能够连接我的Kinect并在线使用一些演示教程,我能够查看Kinect的RGB数据和深度图 . 我正在阅读关于OpenNI的内容,并且无法在这方面取得很大进展 . (C和C#中有代码)现在的问题 -
-
如何获取每个图像的“ Cloud 点”?我应该使用OpenNi吗?
-
获取每个图像的 Cloud 点后,我计划运行ICP算法 . 我可以用来了解并实现它的任何细节或链接?
-
运行ICP算法后,我需要显示重新创建的3D,所以我应该使用Visual Studio 2010本身吗?
-
我遇到了一些软件,比如'Meshlab',它帮助使用.ply文件创建3D ..从Kinect的深度图中获取.ply数据......这是我可以看到的另一个方向吗?
谢谢Aditya
1 回答
我'm not too familiar with Kinect as I haven' t使用过它,但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特定的解决方案 .
http://vtk.org/提供了ICP的实施 . http://pointclouds.org/也包含注册算法 .
VTK提供了包装OpenGL的类,使数据可视化变得容易 . 也许我提到的其他一些图书馆也可以这样做,但我对它们并不熟悉 .
PLY文件只是众多3D文件格式中的一种......它是一个通用容器,可以容纳顶点坐标,以及通过连接顶点形成的多边形 . 同样,VTK提供了用于读/写PLY的类,以及许多其他3D文件格式 .