3

私は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 ポートを変更し、より多くの orrbec を接続したとしても、常に同じカメラを見つけることです。

ありがとうございました

4

2 に答える 2

2

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";
 }

ほとんどの場合、基になる DeviceInfo クラスとその機能をラップする Python クラスが存在する可能性があるため、Uri を要求できます。

于 2017-07-12T12:43:35.663 に答える