介绍两种方法。
一种是以C为接口
//video.c
#include <opencv2/highgui/highgui.hpp>
int main()
{
CvCapture * capture = cvCreateFileCapture("d:\\video.avi");
cvNamedWindow("video",CV_WINDOW_AUTOSIZE);
IplImage * frame;
while(true)
{
frame = cvQueryFrame(capture);
if(!frame)
break;
cvShowImage("video",frame);
if(cvWaitKey(33)==27)
break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("video");
}
一种以C++为接口
<pre name="code" class="cpp">video.cpp
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main()
{
VideoCapture cap("d:\\video.avi");
if(!cap.isOpened())
{
}
Mat frame;
while(true)
{
cap>>frame;
imshow("video",frame);
if(waitKey(33)==27)
break;
}
}