此查询与使用OpenNI2 SDK配置枕骨结构传感器有关。 SDK已经与源自XBox 360技术的MS Kinect系列深度感应设备一起使用。结构传感器基本上是MS Kinect / Carmine的绝大多数版本,它专为iPad而设计。但是,制造商也可以使用OpenNI2 SDK进行配置。
我正在尝试使用作为OpenNI2接口一部分提供的NiViewer配置此设备。根据以下链接的快速入门指南,PS1080.ini文件中的“UsbInterface = 2”必须更改为“UsbInterface = 0”,此步骤应允许此设备的深度和IR流正常工作。 / p>
但是,当运行NIViewer时,尽管显示设备已连接,但它不会流式传输此设备的任何流。经过一些尝试,我发现可以右键单击NIViewer并手动启用(深度和IR)流。但是,完成此操作后,将显示以下错误(对于IR流尝试):
无法创建IR Stream:XnOniDevice:无法初始化类型1的流:无法设置USB接口! 流:无法使用源1创建 上下文:无法从设备创建流:0237c220,源1
基于我自己的搜索,Kinect使用MACOSX报告了类似的“未能设置USB接口”问题,但该解决方案并不是特定于Windows 7 64位的结构传感器。
如果你直接查看XnOniDevice.cpp,它确实显示了被捕获的流的不可用性:
https://github.com/OpenNI/OpenNI2/blob/master/Source/Drivers/PS1080/DriverImpl/XnOniDevice.cpp
我认为,不需要重新编译源代码,因为基于Windows的系统不需要这样做。在这方面的任何帮助将受到高度赞赏。如果我找到了解决这个问题的方法,我会报告。
答案 0 :(得分:5)
进一步研究" PS1080.ini"的编辑细节。文件,我注意到这个问题的解决方案很简单。分号&#39 ;;'在INI文件中基本上用于评论以及错误所在的位置。如果您忘记删除&#39 ;;'在" UsbInterface = 0"之前命令,评论基本上被忽略了。保存后,传感器可以正常工作,并且可以在NIViewer窗口中看到深度和红外线源。