2014-09-02 65 views
1

此查询与使用OpenNI2 SDK配置Occipital Structure Sensor有关。 SDK已经与源自XBox 360技术的MS Kinect深度感应设备系列一起使用。结构传感器基本上是绝大多数减少版本的MS Kinect/Carmine,它是专门为iPad设计的。但是,制造商也使用OpenNI2 SDK进行了配置。使用OpenNI2和NiViewer初始化StructureSensor时出错

我正在尝试使用作为OpenNI2接口的一部分提供的NiViewer来配置此设备。根据以下链接中的快速入门指南,PS1080.ini文件中的“UsbInterface = 2”必须更改为“UsbInterface = 0”,并且此步骤应允许此设备的深度和IR流正常工作。

http://com.occipital.openni.s3.amazonaws.com/Structure%20Sensor%20OpenNI2%20Quick%20Start%20Guide.pdf

然而,当NIViewer运行时,尽管示出了作为连接的设备,它不流的任何这种装置的流。经过一番尝试后,我发现可以右键单击NIViewer并手动启用(深度和红外)流。但是,完成此操作后,会出现以下错误(对于IR流尝试):

无法创建IR流:XnOniDevice:无法初始化类型1的流:无法设置USB接口! 流:无法创建使用源1个 语境:无法从设备创建流:0237c220,源1

根据我自己的搜索,类似的“无法设置USB接口”问题报告的Kinect与MACOSX但该解决方案并不是特定于Windows 7 64位结构传感器。

如果你直视XnOniDevice.cpp,它确实表明流不可被抓:

https://github.com/OpenNI/OpenNI2/blob/master/Source/Drivers/PS1080/DriverImpl/XnOniDevice.cpp

我想,因为这是不需要Windows源的重新编译不应该是必要的基于系统。任何在这方面的帮助将不胜感激。如果我找到解决此问题的解决方案,我会报告回来。

回答

4

在深入了解“PS1080.ini”文件的编辑细节之后,我注意到解决这个问题的方法很简单。分号';'在INI文件中基本上用于评论,这就是错误所在。如果您忘记删除';'在“UsbInterface = 0”命令之前,注释基本上被忽略。一旦保存,传感器就能正常工作,并且可以在NIViewer窗口中看到Depth和IR Feed。