如何在Linux上使用内置的Kinect驱动程序?

时间:2011-12-09 20:03:47

标签: c# c++ linux kinect

在最新的Linux内核it supports Kinect through a driver中。我希望访问RGB和D(深度)流并将它们放入2D阵列,64位整数或两个独立的阵列。 C#是首选,C ++是可以接受的。

所以我的问题是:我在哪里可以找到有关此内容的更多信息,例如文章和文档?一个简单的示例程序会是什么样的,例如,在位置100x100处打印颜色和深度?

我会投票给任何好的链接,并接受第一个工作代码示例。

谢谢, 弗兰克

P.s。,我知道OpenKinect,NITE,Microsoft SDK等项目。我希望这对我来说很容易在其他计算机和Linux发行版上安装,这就是为什么常见的内核驱动程序是首选的。我的主要用途是使用网络摄像头,将像素替换为深度X以外的像素并保存到磁盘。

更新

因为要求我没有进一步深入。我找到了this article。我检查了Git repo,它自4月以来似乎没有更新,我没有看到任何与Linux内核的连接或它已被合并。除了unrelated one之外,之后的任何博客文章中都没有提及Kinect。

更新2

我似乎无法找到将Kinect驱动程序应用于内核的人。内核的镜像on GitHub。我尝试使用谷歌搜索它,但this query和变体没有发现任何东西。然后我尝试searching GitHub没有正面的点击。有没有人有任何信息?

2 个答案:

答案 0 :(得分:2)

根据您发布的链接,驱动程序不支持D流:

  

[media] gspca - kinect:Microsoft Kinect的新子驱动程序

     

Kinect传感器是Microsoft用于其Kinect的设备   项目,这是一个无控制器的人机系统   针对Xbox 360的交互。

     

在Kinect设备中,从两个不同的传感器捕获RGBD数据:   常规的RGB传感器和单色传感器,借助于它   红外结构光,捕捉最终曝光的深度图;   所以我们所拥有的基本上是结构光三维扫描仪。

     

Kinect gspca子驱动程序现在只支持视频流,   暴露RGB传感器的输出或来自的未处理输出   单色传感器;它不处理加工深度   流,但它允许使用传感器作为网络摄像头或IR   相机(此用途可能需要外部红外光源)。

     

低级实现基于OpenKinect的代码   项目(http://openkinect.org)。

From source of the driver it appeares the author is Antonio Ospite reachable at ospite@studenti.unina.it

正如评论所建议的那样,作者应该能够回答您提出的所有问题,因为您想要的内容实际上取决于驱动程序的确切暴露程度(甚至可能取决于版本)。

答案 1 :(得分:2)

不幸的是,驱动程序不支持深度流,只支持来自单色传感器的未处理图像。因此,仅使用内核驱动程序是不可能的。另见我在这个主题上写的blog post。如果删除内置内核模块,可以使用libfreenect来完成。

您可以在GitHub上找到驱动程序文件:kinect.c