0

PNGシーケンスまたはムービーを処理してエクスポートする最速の方法を見つけようとしています。私はKinectデータをキャプチャしており、現在、各描画呼び出しで次を使用しています。

saveFrame("output/fames####.png");

しかし、これは遅すぎます。もっと速くできることはありますか?

kinectフィードにはsimple-openniを使用しています。

4

3 に答える 3

1

.oni 形式への保存を試みることができます。録音および再生用のSimpleOpenNI サンプルが既に存在します。これは多くのメモリを使用するはずですが、それでも saveFrame() よりも高速である可能性があると思います

.oni 形式を使用する利点は、SimpleOpeni で記録されたノードを簡単に処理できることです (たとえば、スケルトン/ハンド トラッキングやその他の機能を .oni 記録でテストできます)。画像が必要な場合は、.oniファイルを抽出/解析する方法があるはずです

于 2012-06-30T22:53:59.033 に答える
1

1 つのフレームを処理/エンコードするのにどのくらいの時間がかかりますか (また、許容できる時間はどれくらいですか)? データをバッファリングして、一定数のワーカー スレッドで非同期に処理することができます。そうしないと、インストールされたコーデックがハードウェア アクセラレーション/最適化された CPU ベースのエンコーディングを使用できるため、ビデオのキャプチャに頼る必要があります。

編集:エンコードのレイテンシを吸収するには、エンコードが必要なフレームをダンプする循環バッファーを使用できます。次に、一連のフレームを並行してエンコードするTaskを起動します。それらが終了したら、バッファにフレームがあるかどうかを確認し、それらを処理します。

于 2012-06-29T21:01:31.600 に答える