如何在Linux上使用内置的Kinect驱动程序?
How can I use the built-in Kinect driver on Linux?
在最新的Linux内核中,它通过驱动程序支持Kinect。我想要访问RGB和D(深度)流,并将它们放入2D数组,无论是64位整型,还是两个单独的数组都可以工作。c#优先,c++也可。
所以我的问题是:我在哪里可以找到更多关于这个的信息,例如,文章和文档?一个简单的示例程序看起来会是什么样子,例如,打印位置100x100的颜色和深度?
我会为任何好的链接投票,并接受第一个工作代码示例。
谢谢,弗兰基
注。我知道OpenKinect、NITE、微软SDK等项目。我希望这对我来说很容易安装在其他计算机和Linux发行版上,这就是为什么首选通用内核驱动程序。我的主要用途是一个网络摄像头,它可以取代深度X
以外的像素,并保存到磁盘。
自从问了之后,我就没怎么进展了。我找到了这篇文章。我检查了Git的仓库,它似乎自4月份以来就没有更新过,我没有看到任何与Linux内核的连接,也没有看到它被合并。除了这篇无关的文章,之后的博客文章中都没有提到Kinect。
更新2
我似乎找不到是谁把Kinect驱动程序应用到内核的。在GitHub上有一个内核镜像。我试着用谷歌搜索它,但这个查询和变化没有任何结果。然后我试着在GitHub上搜索,没有任何积极的结果。有人有什么消息吗?
不幸的是,驱动程序不支持深度流,只有来自单色传感器的未处理图像。因此,只使用内核驱动程序是不可能的。请参阅我写的关于这个主题的博客文章。如果你删除了内置的内核模块,你可以用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
正如评论中已经建议的那样,作者应该能够回答您所问的所有问题,因为您想要的内容实际上取决于驱动程序所暴露的内容(甚至可能与版本相关)。
- 内置函数可查看CPP中的成员变量
- 是否有内置方法可以强制转换为不同的基础类型,但保留常量限定符?
- 按字母顺序对字符串中的字母进行排序,而无需使用内置的 sort()
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 如何从 c++ 中类中内置的数组继承
- 如何捕获 C++ 内置异常对象
- macOS 是内置在 clang 编译器中还是内置于 xcode ide 中?
- 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?
- gcc Atomic在gcc 4.1.1中内置了奇怪的行为
- 是否有用于元素部分移位的 simd 指令/内在/内置指令?
- 何时包含内置类型和运算符的标头?
- 基本类型与内置类型有什么区别C++
- 指内置类型的文字
- GLUT 问题:重新声明 c++ 内置类型'wchar_t'时出错
- 像自定义类一样构造的指针(内置类型)如何工作?
- 内置类型与用户定义的类型 C++
- 将内置类型变量传递给只有一个类类型参数的"+"运算符函数时自动类型转换的构造函数
- C++内置类型的基于类型的调度
- 在不使用内置库函数的情况下添加字符串,我做错了什么?
- 如何在Linux上使用内置的Kinect驱动程序?