OpenNI2 doesn’t open specific device (Asus Xtion)

  asus-xtion, c++, openni, ubuntu-18.04

I’m trying to open a specific device by passing the device URI to Device::open.
For some reasons, device.open doesn’t work with such uri. It only works if I get uri using openni::any_device. But I’m using multiple devices in my work, so this is not a choice for me.
This problem occurs when I’m trying to use Asus xtion (vendorId 0x1D27 productId 0x0600) with ps1080 driver and openni2. I also tried to use orbbec.so (for some reasons it also works with asus) but problem remains the same.

OpenNI::initialize();
openni::Device device;
openni::Array< openni::DeviceInfo > deviceInfoList;
openni::OpenNI::enumerateDevices(&deviceInfoList);
for(int i=0;i<deviceInfoList.getSize();i++)
{
   if(device.open(deviceInfoList[i].getUri()) != STATUS_OK)
        std::cout<<"Cant't open device by uri!n";
   //...
}

Source: Windows Questions C++

LEAVE A COMMENT