#include "opencv2/opencv.hpp"
#pragma comment (lib , "opencv_core244d.lib")
#pragma comment (lib ,"opencv_highgui244d.lib")
#pragma comment(lib , "opencv_imgproc244d.lib")
int main(int argc, char* argv[])
{
CvCapture* capture = cvCaptureFromFile("try.avi");
IplImage* frame = NULL;
do
{
frame = skipNFrames(capture, 1);
cvNamedWindow("frame", CV_WINDOW_AUTOSIZE);
cvShowImage("frame", frame);
cvWaitKey(0);
} while(frame != NULL);
cvReleaseCapture(&capture);
cvDestroyWindow("frame");
cvReleaseImage(&frame);
return 0;
}
这是我的程序从视频获取帧,但是当我运行此程序时,它的工作原理是,它向我显示视频,但不自动保存帧(不使用任何按钮或鼠标),它应该保存在我的目录中从视频中获取帧
附记:因为你使用的是最新的OpenCV(2.4.4),并通过opencv.hpp一个C++ API,你应该利用这个API的充分利用,通过使用C++类而不是C结构体,即cv :: Mat而不是IplImage *,cv :: namedWindow()等。您将获得许多实际好处,例如自动内存管理。 – sansuiso