cv2.imdecode 1 回で済み、エクスポートは再エンコードや品質劣化のないバイトコピーだけで行えます。
Discovery での DWVO 録画
DWVO を初めて使いますか? まずはここから
.dwvo ファイルのストリーミングと録画を始めましょう。前提条件
- Python(バージョン 3.x)
opencv-python、numpy、pillow.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 変換のソースコード。