みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

OpenCVで動画の指定したフレームをキャプチャ

現在,動画像処理を勉強している者です.

OpenCV 2.3.1を使って動画像から任意のフレームを切り出し,Bitmapに格納する方法がわからなくて困っています.
cvWaitKeyを使ってプログラムをスリープさせながら,繰返しすれば動画っぽく表示することはできるのですが,「40フレーム目から処理したい」といったことをするためにはどうすればいいのでしょうか.

以下のコードでプロパティをいじって動画の真ん中のフレームを切り出すつもりだったのですが,無理でした...
cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, frame_count / 2.0);
この後にIplImage型の変数にcvQueryFrame(capture)を突っ込んでもnullでした...なぜ...
※なお,capture←動画ファイル frame_count←総フレーム数がそれぞれ格納されています.

投稿日時 - 2011-11-12 17:51:29

QNo.7128967

すぐに回答ほしいです

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

OpenCV のビデオ入出力関係は発展途上のようで、あまり上手く行かないことが多いです。
私は、FFmpeg を使って自前で読み込んでいます。

投稿日時 - 2011-11-15 21:15:58

お礼

返事していただき,ありがとうございます.

その後調査および実験した結果,任意のフレームからキャプチャリングするのはビデオのファイル形式によって「できる」と「できない」が混在しているようですね.

ただ,私の場合は,最初から表示すればキャプチャリングできたので,動画の全フレームを最初から全てBitmapで切り出すことにしました.

#非常に非効率的ですが,致し方ないようですね.OpenCVのこれからに期待したいと思います.

投稿日時 - 2011-11-16 16:58:06

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問