cvSetCaptureProperty (capture, CV_CAP_PROP_FPS, 15.0);
としても、
cvGetCaptureProperty(capture,CV_CAP_PROP_FPS )
で返ってくる値は0になってしまいます。画面に映像は映っていますが、明らかに15fpsより落ちています。どのように設定すればいいのでしょうか?
ちなみに、動画ファイルに保存したいわけではなく、30fpsで取得した画像を加工してリアルタイムに表示させるのが最終的な目標です。
カメラは、ロジクールQVP-61HSSVで最大30fpsまで対応しており、プログラムはVisualstudio2008を使って、Releaseビルドでコンパイルしています。
よろしくお願いします。
cvGetCaptureProperty で正しい値を取得するには、
事前に cvQueryFrame(capture); で一度読み込みを
しておく必要があるようです。
http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv...
コメント(1件)
回答ありがとうございます。サンプルコードどおり+フレームレートの設定をしているのですが、どうやらopenCV自体の仕様でカメラに対してはフレームレートの設定がまだできない(実装されていない)というような記述を見つけました。
openCVはあきらめてDirectShowのプログラミングを勉強します。