我们正在使用kinect和opencv做一个项目。我对3D分析完全陌生。主要目的是从kinect中获取深度和rgb信息,对rgb mat (基本滤波和阈值函数)进行处理,并将处理后的rgb图像与原始的深度信息结合起来。我需要一些基本步骤来遵循合适的应用程序( opencv、opengl、openni、kinect sdk等)。
1)如何将深度和rgb信息从kinect传递给opencv?
2)我们能单独访问rgb图像来处理它吗?
3)如何将两者结合起来,使用哪些功能来显示输出?
我们使用Windows64位和kinect作为3D传感器。我们计划使用OpenNI获取图像rgb和深度信息,然后在OpenCV中处理rgb,然后借助OpenGL在窗口中显示图像(已处理的RGB +深度)。
发布于 2015-03-22 22:09:48
首先,我认为您的问题过于笼统,它将取决于您使用的库/驱动程序.例如,如果使用openni,则以一种方式传递信息,如果使用kinect sdk,则必须使用另一种方法.
2)是的,您可以独立于深度信息访问RGB图像并对其进行处理。
3)要将两者结合起来,我想你指的是深度和rgb。这也取决于您使用的库和驱动程序。还有你想要存储它的方式,例如点云,图像,等等。
我的建议是准确地定义您想要实现的目标、使用哪个库和在哪个操作系统中,并编辑您的问题。
我使用openni2、opencv和Qt创建了一个工具,我只在linux相机和structure.io摄像机上进行了测试,但您可能会知道应该做什么。该工具可以对不同格式(pcd、图像、oni)的数据进行基本的阈值处理和存储。链接
我还对openni1、Avin的驱动程序和Kinect1摄像头使用了几乎相同的方法,周三我可以上传代码,您可以查看一下,但基本上是一样的,只是初始化发生了一些变化。
作为您在处理RGB图像时应该做的事情的基本清单:
此外,您还可以查看pointcloud,它们有一个很好的包装器,可以完成这项工作,然后很容易将它转换为点云。
我希望这些信息对你有帮助。
更新:对于windows 1,可以在不安装其他驱动程序的情况下安装最新的Kinect SDK并使用openni2。
如果到目前为止一切都很好,那么您只需要:
如果您在任何步骤中有疑问,我可以给您提供代码片段,只需问一个新的问题,我就会回答它。
我希望这对你有帮助
https://stackoverflow.com/questions/29196184
复制相似问题