• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OpenCVでの動画出力)

OpenCVでの動画出力に関する問題

このQ&Aのポイント
  • OpenCVを使用してUSBカメラから取得した映像をavi形式で保存しようとしていますが、映像が速すぎる現象が発生しています。
  • プログラムを実行すると、実際の映像の再生時間よりも早い速度で映像が再生されてしまいます。
  • この問題を解決する方法を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kirinoma
  • ベストアンサー率53% (288/542)
回答No.1

おそらく,USBカメラからキャプチャしたデータが2フレーム/秒など, フレームレートの遅いビデオデータなのでしょう(カクカクしてませんか?). その状態でデフォルト設定で書き込みすると,15フレーム/秒で保存され,早送り状態になってしまいます. 回避策ですが,以下で行けないでしょうか. (USBカメラが手元にないので未検証です) 1.cvCaptureFromCAM関数の後で,cvGetCaptureProperty関数を実行して,キャプチャのフレームレート(CV_CAP_PROP_FPS)を取得する. (おそらく2とか出てくるはず) 2.cvCreateVideoWriter関数で,fpsの設定を15ではなく,上で取得したフレームレートを代入する様に変える. 関数仕様は以下にあります. http://opencv.jp/opencv-1.0.0/document/opencvref_highgui_video.html cvCreateVideoWriterのfps値が任意の小さな値に変えられるのかどうかも未検証です. 駄目ならば,かなり乱暴ですが,cvWriteFrameを10連続くらいで実行してみては(要は,10倍速になってしまうなら,同じ画を10回並べてしまう).

delta-22
質問者

お礼

早速試してみます。 ありがとうございました。

関連するQ&A