• 締切済み

bitmap を avi 出力

こんにちは。 Webカメラからの映像をBitmap化してOpenCVの VideoWriter を使って、AVI形式で保存するプログラムを組んでいます。 VideoWriterをDispatcherTimerを使ってよんでいるのですが、fpsの設定とタイマーのタイミングがわかりません。 例えば、fps = 10 の場合 1分間に10フレームなので、タイマーにTimeSpan(0, 0, 0, 0, 100); と設定してみたのですが、実際の速さと出力された動画の速さが合いません。 何か間違っているのでしょうか? 合わせるにはどうすればいいですか?? ご教授お願い致します。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

気になったのが、1枚準備するのに0.1秒未満でできているのか?ということです。 0.1秒以上かかっていたら、タイマーによる100msよりも長い間隔で画像を取り込んでいることになりませんか? VideoWriterは確実に指定した間隔で動画にするので、200msで取り込んでも、動画は10fpsのままで、実際の早さの倍の速度の動画になります。 fpsを落したらどうなりますか?

my_question
質問者

補足

なるほど。確かに0.1秒未満で処理できてないかもしれないです。 TimeSpan(0, 0, 1)、fps = 1にしてみたのですが、それも何か速度が合いません。。。 画像処理の時間を計って、fpsを合わせてみたほうがいいのでしょうか? あまりfpsを落としたらカクカクした動画になってしまいますよね?? 画像形式からaviなどに書き出せればいいだけなので、VideoWriterを使うことにこだわってはいないのですが、他にいい方法などありますでしょうか?

noname#240995
noname#240995
回答No.1

fpsはFrame Per Secondの略で、1秒間に何フレーム再生されるかを決定しています。

my_question
質問者

補足

すみません、書き間違えました。1秒間に10フレームでした。

関連するQ&A

専門家に質問してみよう