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

本文关键字:内置 Kinect 驱动程序 Linux | 更新日期: 2023-09-27 18:17:16

在最新的Linux内核中,它通过驱动程序支持Kinect。我想要访问RGB和D(深度)流,并将它们放入2D数组,无论是64位整型,还是两个单独的数组都可以工作。c#优先,c++也可。

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

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

谢谢,弗兰基

注。我知道OpenKinect、NITE、微软SDK等项目。我希望这对我来说很容易安装在其他计算机和Linux发行版上,这就是为什么首选通用内核驱动程序。我的主要用途是一个网络摄像头,它可以取代深度X以外的像素,并保存到磁盘。

更新

自从问了之后,我就没怎么进展了。我找到了这篇文章。我检查了Git的仓库,它似乎自4月份以来就没有更新过,我没有看到任何与Linux内核的连接,也没有看到它被合并。除了这篇无关的文章,之后的博客文章中都没有提到Kinect。

更新2

我似乎找不到是谁把Kinect驱动程序应用到内核的。在GitHub上有一个内核镜像。我试着用谷歌搜索它,但这个查询和变化没有任何结果。然后我试着在GitHub上搜索,没有任何积极的结果。有人有什么消息吗?

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

不幸的是,驱动程序不支持深度流,只有来自单色传感器的未处理图像。因此,只使用内核驱动程序是不可能的。请参阅我写的关于这个主题的博客文章。如果你删除了内置的内核模块,你可以用libfreenect来做。

你可以在GitHub上找到驱动文件:kinect.c.

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

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

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

在Kinect设备中,RGBD数据是从两个不同的传感器捕获的:一个是普通的RGB传感器,另一个是单色传感器红外线结构光,捕捉最终曝光的深度图;所以我们拥有的基本上是一个结构光3D扫描仪。

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

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

从驱动程序的源代码来看,作者是Antonio Ospite,可访问ospite@studenti.unina.it

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