2
私はpython3とopenni2を使用しています。カメラのシリアル番号を取得する - Openni2 python
カメラとの通信を開くと(この場合は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てきた場合でも、毎回同じカメラを見つけることです。
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のバージョンについては、正確に知りませんが、古いOpenNI C++ライブラリでは、次のような何かをデバイスIDを照会することができましたあなた
こんにちは!答えてくれてありがとう。 私はこれを試しました:dev.get_device_info() そして、それは次を返します:OniDeviceInfo(uri = b'2bc5/0401 @ 1/2 '、vendor = b'Orbbec'、name = b'Astra '、usbVendorId = 11205、usbProductId = 1025) 私は質問したかった:uriとは何ですか?カメラのIDはどれですか? –
OK、私はuriフィールドにあなたのデバイスのユニークな識別子が入っていると思います。 dev.get_device_info()を試してください。uri –
私はuriが正しいidだと思いますが、@ 1/2は2つのデバイスの最初のものです。別のUSBのデバイスを再び抜き差しすると、 3、1/4、ecc ..)。 しかし、dev.get_device_info()。uri works!ありがとうございました!あなたのための親指:) –