openCVでウェブカメラから動画をキャプチャをするときにフレームレートがうまく設定できません。


cvSetCaptureProperty (capture, CV_CAP_PROP_FPS, 15.0);

としても、

cvGetCaptureProperty(capture,CV_CAP_PROP_FPS )

で返ってくる値は0になってしまいます。画面に映像は映っていますが、明らかに15fpsより落ちています。どのように設定すればいいのでしょうか?

ちなみに、動画ファイルに保存したいわけではなく、30fpsで取得した画像を加工してリアルタイムに表示させるのが最終的な目標です。

カメラは、ロジクールQVP-61HSSVで最大30fpsまで対応しており、プログラムはVisualstudio2008を使って、Releaseビルドでコンパイルしています。

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2008/09/23 00:33:48
  • 終了:2008/09/30 00:35:02

回答(2件)

id:thrillseeker No.1

thrillseeker回答回数328ベストアンサー獲得回数372008/09/23 00:48:50

ポイント35pt

cvGetCaptureProperty で正しい値を取得するには、

事前に cvQueryFrame(capture); で一度読み込みを

しておく必要があるようです。

http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv...

  • id:minami-always
    >thrillseekerさん、youku554さん
    回答ありがとうございます。サンプルコードどおり+フレームレートの設定をしているのですが、どうやらopenCV自体の仕様でカメラに対してはフレームレートの設定がまだできない(実装されていない)というような記述を見つけました。

    openCVはあきらめてDirectShowのプログラミングを勉強します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません