Ava*_*vra 57
请注意,以下答案是每个日期,有些事实可能在不久的将来过时.官方Kinect SDK的当前状态是beta 1.00.12.
第一个明显的区别是官方SDK由Microsoft Research团队维护,而OpenKinect是由开源社区维护的开源SDK.两者都有其缺点和优点.
支持的编程语言:
操作系统支持:
显然有利于OpenKinect.
执照:
文档和支持:
设备校准:
不同的Kinect设备可能会略有不同,具体取决于生产它们的批次.因此有时需要进行设备校准.但:
如果只对OpenKinect进行校准是正确的,这对于官方SDK来说是一个很大的优势,因为它更容易分发和安装没有这种需要的应用程序.
就个人而言,在使用OpenKinect SDK尝试失败之后,我选择了官方SDK
更新:截至2012年2月1日,官方SDK有商业许可证:"此版本的商业许可证授权开发和分发商业应用程序.之前的SDK是测试版,因此仅适用于研究,测试和最终的商业产品不适合使用.新的许可证将使开发人员能够在Windows平台上使用Kinect for Windows硬件为最终用户客户创建和销售他们的Kinect for Windows应用程序." 开发人员常见问题解答
正如Avada Kedavra在他/她的回答中所解释的那样,这些是一些有趣的差异:
在我个人看来,开源解决方案和Microsoft SDK之间最重要的区别与骨架跟踪算法严格相关.
虽然开放/免费API和Microsoft SDK都可以有效地提供深度和RGB数据,但实现骨架跟踪功能不仅仅是逆向工程的问题.
为了实现这样的算法,开发人员必须在模式识别和机器学习领域具有很强的能力,并且我确信在开源社区中可以获得这样的知识.但是骨架跟踪的实现基于"训练"的算法,这需要大量的实验来收集非常大量的数据.然后,这些数据用于"训练"算法,该算法可以识别骨骼关节.
获得足够的数据,但也需要调整和正确使用它们需要大量的时间和金钱.微软的研究人员和开发人员处于最佳状态,只是因为这是他们的工作.
在我以前的经验中,我注意到开源解决方案提供了良好的骨架跟踪功能,但它们与Microsoft提供的SDK不同.
还要记住,Microsoft SDK提供了许多其他功能,如面部识别或联合定位,如果您想快速构建手势GUI,则几个小部件非常有用.
所以我的建议是:如果您正在处理一个只需要深度和/或RGB数据的项目,或者如果您有必要使用Microsoft SDK不支持的编程语言,那么您应该选择开放源解决方案.否则,Microsoft SDK将是我的最佳选择.