0

さらに分析するために、XTION から BeagleBone Black (BBB) にカラー フレームと深度フレームを保存しようとしています。

BBB と開発用コンピューター (Kubuntu 14.04 を搭載した MacAir) の両方に OpenNI2 をコンパイルしてインストールしました。SimpleRead は両方のプラットフォームで正しく動作します。

私のプログラムは、MacAir 上で 30fps で正しく動作するようになりました。カラー フレームと深度フレームの両方が openni::OpenNI::waitForAnyStream(...) から正常に返されます。

(新しいフレームを無期限に待機するプロデューサー スレッド内で waitForAnyStream をポーリングしています。その後、フレームはバッファーにコピーされ、ブースト spsc_queue に入れられ、コンシューマー スレッドによって分析および保存されます。)

次に、g++ クロスコンパイラを使用してプログラムを BBB に移植しました。640x480 の BBB で実行すると、openni::OpenNI::waitForAnyStream(...) が返されません。解像度を 320x240 に下げて、カラー ストリームのピクセル フォーマットを openni::PIXEL_FORMAT_YUYV に変更すると、正しく返されます。私は YUYV 形式を使用できますが、640x480 を動作させる必要があります。

私の質問は、以前に OpenNI2 フレームワークでこの問題を見たことがありますか? もしそうなら、どのように修正しましたか?

時間をありがとう、ベン

PS。Kinect を BBB にまったく認識させることができませんでした。MacAir に差し込むと、緑色の LED が点灯し、正しく動作します。BBB では、暗いままで、OpenNI2 で見つけられません。これについて何か考えはありますか?

4

1 に答える 1

0

Kinect の問題は、kinect が ASUS よりも多くの電流を必要とする可能性があるため、HUB を使用してから HUB を BBB に接続する必要がある場合があります。

そして、ASUS についてですが (フレームをどれだけ速く処理できるかはわかりません)、おそらく BBB をそれよりも速く動作させようとしているのでしょう。

于 2014-11-26T12:08:55.503 に答える