在做实验的时候我们经常得到的是监控视频,可是程序中要用到的是视频的图片序列或部分图片,这时就需要将用OpenCV将视频转存为图片序列。源代码如下,已经在VC++2008和OpenCV2.1下调试通过。
// avi2img.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
using namespace std;
int main(int argc, _TCHAR* argv[])
{
char * filename = "D://video//1.avi";
int n =1;
int ret = 0;
char path[256];
IplImage *pFrame = NULL;
IplImage *img = NULL;
CvCapture * pCapture = cvCaptureFromAVI(filename);
if (!pCapture)
{
printf("Can not read the avi file./n");
return -1;
}
cvNamedWindow("avi2img",1);
while (pFrame = cvQueryFrame(pCapture))
{
cvShowImage("avi2img",pFrame);
img = cvCreateImage(cvSize(pFrame->width,pFrame->height),pFrame->depth,pFrame->nChannels);
cvCopyImage(pFrame,img);
cvF