4

Kinect OpenNIライブラリは、カスタムビデオファイル形式を使用して、rgb+d情報を含むビデオを保存します。これらのビデオの拡張子は*.oniです。ONIビデオ形式に関する情報やドキュメントが見つかりません。

従来のrgbビデオを*.oniビデオに変換する方法を探しています。デプスチャネルは空白のままにすることができます(つまり、ゼロにする)。例として、オーディオチャネルとビデオチャネルを含むMPEG-4でエンコードされた.movファイルがあります。

この変換の方法に制限はありません。なんとかして変換する必要があります。つまり、imagemagick、ffmpeg、mencoderはすべて問題なく、C /C++などのカスタム変換コードも問題ありません。

これまでのところ、私が見つけることができるのは、OpenNIソースにある1つのC++変換ユーティリティだけです。見た目からすると、これは1つの*.oniファイルから別のファイルに変換します。また、博士課程の学生が、学術データベースの画像を*.oniファイルに変換するC++スクリプトを見つけることができました。残念ながら、コードはスペイン語であり、私の母国語の1つではありません。

どんな助けやポインタも大歓迎です!

編集:私のユースケースは少し奇妙なので、いくつかの説明が正しいかもしれません。OpenNIドライバー(私の場合は、優れたKinect for Matlabライブラリを使用しています)を使用すると、Kinectコンテキストを作成するときに*.oniファイルを指定できます。これにより、ビデオデータを受信する実際のKinectをアタッチすることをエミュレートできます。これは、コードをテスト/開発するときに役立ちます(これを行うためにKinectをアタッチする必要はありません)。私の特定のケースでは、本番環境(ファクトリ環境でのプロセス制御)でKinectを使用しますが、開発中はビデオファイルしかありません:)したがって、*。oniファイルに変換したいと考えています。現在、Depthチャネルを使用していないため、気にしません。

4

2 に答える 2

4

完全な答えはありませんが、OpenNI/SamplesのNiRecordRawとNiRecordSyntheticの例を見てください。これらは、任意のデータまたは変更されたデータを使用してONIを作成する方法を示しています。NiRecordSyntheticでMockDepthGeneratorがどのように使用されるかを確認してください。この場合、MockImageGeneratorが必要になります。詳細については、openni-devgoogleグループでお尋ねください。

于 2012-11-11T08:37:26.523 に答える
0

このコマンドとそれに関連するドキュメントを調べましたか

NiConvertXToONI -NiConvertXToONIはすべての記録を開き、その中のすべてのノードを取得して、新しいONI記録に記録します。コマンドラインから入力ファイルと出力ファイルの両方を受け取ります。

于 2016-04-18T21:01:49.053 に答える