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/30 00:35:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:thrillseeker No.1

回答回数328ベストアンサー獲得回数37

ポイント35pt

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

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

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

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

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

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

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

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

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

回答リクエストを送信したユーザーはいません