opencv3/C++ 将图片转换为视频

现有一些图片按顺序放置在一文件夹jogging1\下,如图:
这里写图片描述
需要将其合并转换为一个视频。

示例:

环境:Win7+OpenCV3+VS2012


#include<opencv2/opencv.hpp>
#include <stdio.h>
#include <io.h>
#include <string>
#include <iostream>  
#include <fstream> 
using namespace std;
using namespace cv;

int main()
{
   _finddata_t FileInfo; 
    //读取图片所在的路径
    string inPath = "E:\\image\\yu\\jogging1\\"; 
    string strfind = inPath + "*";
    long Handle = _findfirst(strfind.c_str(), &FileInfo);
    char filename[300];
    Mat src;
    if (Handle == -1L)
    {  
        cerr << "can not match the folder path" << endl;  
        exit(-1);
    }

    Mat frame;
    Mat src0 = imread("E:/image/yu/jogging1/0000.jpg");
    Size size = src0.size();
    VideoWriter writer;
    writer.open("jogging.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25, size, true);

    do{
        //判断是否有子目录
        if (FileInfo.attrib & _A_SUBDIR)  
        {  
            if ((strcmp(FileInfo.name, ".") != 0) && (strcmp(FileInfo.name, "..") != 0))  
            {  
                inPath += FileInfo.name;
                cout <<inPath<<endl;  
            }
        }
        else
        {
            cout <<inPath<<FileInfo.name<<endl;
            //读取图片所在的路径
            string path = "E:/image/yu/jogging1/" + (string)FileInfo.name;
            src = imread(path);
            imshow("input", src);
            writer.write(src);
            waitKey(1);
        }  
    } while (_findnext(Handle, &FileInfo) == 0);  
    _findclose(Handle);   
    return 0;  
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/akadiao/article/details/80464368