cvCaptureFromAVIとcvQueryFrameで動画から画像を読み込む
CvCapture* cvCaptureFromAVI(const char* filename);†
filenameで指定した動画像を読み込み,CvCapture*型で返す
- filename:const char*型のファイル名.
返り値†
- filenameの動画像を読み込む.
- 読み込める動画はシステムに依存する.
早い話がWindows Media Playerで読み込めなかったら読み込めない.
- ファイルのオープンに成功すると,中身を返すのではなく,CvCapture型のポインタを返す.
- このCvCapture*型をcvQueryFrameに渡してやると,フレームを1枚1枚取得できる.
- 関数の名の通り,AVIのみ.MPEGファイルは×.
- 内部ではffmpegを利用しているので,Windows以外のバージョンではffmpegを最新にしてOpenCV自体をmakeしなおす必要があったりする
- ffmpegではMPEGファイルをサポートしているので,MPEGが読めないのは何か別の問題かも.
サンプルコード†
char filename[] = "./test.avi";
CvCapture *capture
IplImage *image;
capture = cvCaptureFromAVI(filename);
image = cvQueryFrame(capture);
実体ファイル†
- otherlibs/highgui/highgui.h
- otherlibs/highgui/cvcap.cpp
ジャンル:OpenCV:OpenCV 1.0準拠