我对为Microsoft Kinect控制台编写一些自制代码很感兴趣。我有几个应用程序,我认为它们可以很好地转换到平台上。我一直在尝试使用OpenKinect drivers and libraries来尝试一下。显然,这将是大量的工作,但我想知道到底有多少。有没有人有使用OpenKinect的经验?您是否只从设备获取原始视频/音频数据,或者是否有人编写了更高级别的抽象来简化常见任务?
发布于 2010-12-11 16:11:16
OpenKinect库基本上就是一个驱动程序--至少现在是这样--所以对它的不抱太高的期望。您将或多或少地从深度和视频摄像头获得原始数据。
这基本上是每次帧到达时在回调函数中接收的数组。
您可以按照OpenKinect website上提供的说明进行尝试,它的安装和试用速度非常快,并且您可以试用一下所提供的glview应用程序,体验一下可能的功能。我已经用opencv设置了一些演示,虽然我在计算机视觉方面没有太多的背景知识,但我得到了相当酷的结果,所以我只能鼓励你自己尝试一下!
或者,如果你正在寻找更高级的功能,OpenNI framework本周刚刚发布,它提供了一些令人印象深刻的高级算法,如骨骼跟踪和一些手势识别。该框架的一部分是来自PrimeSense的专有算法(如强大的骨架跟踪模块...)。我还没有尝试过它,也不知道它与kinect和不同操作系统的集成程度如何,但自从一群来自不同群体的人(OpenKinect,Willow Garage...)正在努力工作,这应该不会在一周内成为问题。
发布于 2010-12-13 22:25:33
为了进一步阐述Jules Olleon写的内容,我使用过OpenNI (http://www.openni.org)和它上面的算法(NITE),我强烈推荐使用这些框架。这两个框架都有很好的文档记录,并提供了大量的示例,您可以从这些示例开始。
基本上,OpenNI为您抽象了使用传感器及其驱动程序的底层细节,并为您提供了一种从“生成器”获取所需内容的便捷方法(例如,用于获取原始深度数据的xn::DepthGenerator )。OpenNI是开源的,可以在任何应用程序中免费使用。OpenNI还为您处理平台抽象。到目前为止,OpenNI已经在Windows32/64和linux上得到了支持,并且可以很好地工作,并且正在向OSX移植的过程中。绑定可用于多种编程语言(C、C++、.NET、Python以及我相信的其他几种语言)。
NITE在OpenNI之上构建了额外的接口,为您提供更高级别的结果(例如,跟踪手点、骨架、场景分析等)。你会想要检查NITE许可证的微妙之处,关于什么时候/在哪里可以使用它,但它可能仍然是目前获取分析(例如骨架)最简单和最快的方法。NITE是封闭源代码的,因此PrimeSense需要提供一个二进制版本供您使用。目前有windows和linux两个版本。
发布于 2013-06-19 23:08:19
我没有使用过OpenKinect,但为了我的研究,我已经使用OpenNI和SensorKinect几个月了。如果你计划使用来自Kinect的原始数据,它们可以很好地为你提供深度和视频(它们不支持运动控制)。我已经在Windows64位和Ubuntu32位的C++和OpenGL上使用过它,几乎没有修改代码。如果你了解基本的c++,这是非常容易学习的。安装它可能有点头疼。
对于更高级的功能,比如骨骼检测,手势识别等,我强烈建议使用中间件,比如带有OpenNI的NITE或者在这里:Middlewares developed around OpenNI中提供的那些,而不是重新发明轮子。一旦你有了OpenNI,Nite也很容易使用;例如,联合识别大约需要10-20行额外的代码。
我向年轻的自己推荐的是学习和使用基本的游戏引擎(例如Unity),而不是直接使用OpenGL。它将为您提供更好、更有趣的图形,减少麻烦,还使您能够轻松地将您的程序与其他工具集成,如PhysX。我还没有尝试过,但我知道有一些插件可以在Unity中使用Kinect驱动程序。
https://stackoverflow.com/questions/4259599
复制相似问题