我在用python3和openni2。
当我打开与相机的通信时(在本例中,我使用的是Orbbec Astra),是否可以读取相机的序列号?
这就是我打开通讯的方式:

    dev = openni2.Device.open_any()
    depth_stream = dev.create_depth_stream()
    depth_stream.start()
    depth_stream.set_video_mode(c_api.OniVideoMode(pixelFormat = c_api.OniPixelFormat.ONI_PIXEL_FORMAT_DEPTH_100_UM, resolutionX = 320, resolutionY = 240, fps = 30))

我的目标是找到每一次相同的相机,即使我改变了usb端口,我有更多的魁北克连接。
谢谢你

最佳答案

我不太清楚Python版本,但是在旧的OpenNi C++库中,您可以用类似于以下内容的查询来查询设备ID:

openni::Array deviceList;
openni::OpenNI::enumerateDevices(&deviceList);

for(int i = 0; i != deviceList.getSize(); i++) {
   const openni::DeviceInfo& info = deviceList[i];
   std::string uri = info.getUri();
   cout << "URI " << i << ": " << uri << "\n";
 }

很可能有一个python类包装了底层的DeviceInfo类及其功能,因此您可以请求Uri。

10-04 21:21