利用Opencv将图片转为视频

    我们通过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. 由于是循环加载图片,每一帧处理完需要手动释放内存

猜你喜欢

转载自blog.csdn.net/u012462822/article/details/46737581