欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-16 17:54:04
...

现有一些图片按顺序放置在一文件夹jogging1\下,如图:
opencv3/C++ 将图片转换为视频
需要将其合并转换为一个视频。

示例:

环境: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;  
}

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