メインコンテンツへスキップ
は当社のマルチカメラ録画用コンテナで、Discovery で録画すると生成されます。ペイロードは MJPEG なので、ファイル内の各フレームはすでに完全な JPEG です。再生は cv2.imdecode 1 回で済み、エクスポートは再エンコードや品質劣化のないバイトコピーだけで行えます。

Discovery での DWVO 録画

DWVO を初めて使いますか? まずはここから .dwvo ファイルのストリーミングと録画を始めましょう。

前提条件

  • Python(バージョン 3.x)
  • opencv-pythonnumpypillow
  • .dwvo 録画ファイル — 以下の例では test.dwvo を使用します

セットアップ

OpenCV Guides リポジトリをクローンし、このガイド用のフォルダーを開いてから、仮想環境を作成して依存関係をインストールします:

再生

main.py はすべてのカメラをデコードし、1 つの OpenCV ウィンドウ内に並べて表示します。
再生は固定スケジュールに従います: デコードが 1 フレーム分以上遅れた場合、そのフレームは遅れて表示するのではなくドロップされるため、映像は実時間の速度を保ちます。

JPEG へのエクスポート

DWVO はすでに MJPEG として保存されているため、export.py は各フレームをそのままディスクにコピーします — デコードなし、品質劣化なしです。
出力はカメラごとに 1 ディレクトリで、KITTI 形式の番号付けになります:

ロスレス PNG(KITTI データセット)

dwvo_to_kitti.py は同じレイアウトを生成しますが、Pillow を通してデコードするため、ロスレスな PNG を出力できます。下流のツールが JPEG を受け付けない場合に使用してください。それ以外の場合は export.py の方が高速です。

DWVO をプログラムから読み込む

dwvo.py では、DWVOReader がタイムスタンプブロックを反復処理し、DWVOWriter がそれらを書き込み、combine_dwvos() は同じヘッダーを共有する録画を連結します。

FAQ

Discovery では、一部のカメラは FPS を手動で設定する必要があります。映像が 60 FPS でストリーミングされていたのに 30 FPS に設定されていた場合、.dwvo ファイルはメタデータに 30 FPS を記録し、アプリケーションに 30 FPS で読み込むよう指示します。再生時に --fps で上書きしてください。

詳細情報

追加の詳細、他言語での例、および上記スクリプトの完全なソースは、OpenCV Guides リポジトリを参照してください。

OpenCV Guides リポジトリ

DWVO リーダー、再生、エクスポート、KITTI 変換のソースコード。