如何在OpenNIGrabber上设置特定的设备ID?

时间:2014-04-22 15:00:44

标签: c++ linux-device-driver openni point-cloud-library asus-xtion

如何为OpenNIGrabber对象的构造函数设置特定的设备ID?

OpenNIGrabber("#1")OpenNIGrabber("#2")的教程示例效果很好,但我需要以某种方式选择特定设备。 是否可以选择连接到特定USB端口的设备?

我正在使用一些Xtion PRO。 我在ubuntu 13.04 64bit上。

1 个答案:

答案 0 :(得分:2)

您可以使用bus@address ID在Linux上使用lsusb命令查找总线编号和USB端口地址(设备)。此类设备ID仅适用于非Windows系统,如您在PCL源(https://github.com/PointCloudLibrary/pcl/blob/master/io/src/openni_grabber.cpp#L352-L361,方法pcl::OpenNIGrabber::setupDevice,第352-361行)中所见。

您也可以使用ASUS Xtion Pro的序列号作为ID。

PCL文档中的更多内容:http://docs.pointclouds.org/1.7.2/a00897.html#a5753a422ff92067c9065797697d69244

实施例

quepas@ubuntu:~$ lsusb
Bus 001 Device 002: ID 1d27:0601 ASUS 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

然后:

OpenNIGrabber("1@2")