我们通过Opencv将Picture文件夹下面的一组图片构建成一个视频流来实现将工程路径下Picture文件夹下的图片整合成一个视频流
#include<afx.h>
#include <cv.h>
#include<highgui.h>
#include <iostream>
using namespace std;
int main()
{
CvVideoWriter *writer=cvCreateVideoWriter("dsp.avi",CV_FOURCC('x','v','i','d'),8,cvSize(352,288));//写入视频文件,352*288,8fps
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("Picture\\*.jpg"));
CString picName,picPath;
while (bWorking)
{
bWorking = finder.FindNextFile();
picName=finder.GetFileName();
picPath="Picture\\"+picName;
IplImage *img=cvLoadImage(picPath);
cvShowImage("图片",img);
cvWriteFrame(writer,img);
cvReleaseImage(&img);
if(cvWaitKey(20)==27)//等待20毫秒,按下Esc退出
break;;
}
cvReleaseVideoWriter(&writer);
}
PS:
1. 将工程属性中的USE of MFC设置成Use MFC in a Shared DLL
2. 由于是循环加载图片,每一帧处理完需要手动释放内存