使用OpenCV对一系列图像生成视频avi

直接上代码了,过程很简单,注意路径,环境:opencv3,macos

//功能:将连续图片合成视频AVI
//注意:检查路径是否存在空格,否则影响结果
//注意:根据文件名设置循环,何时开始循环
#include<opencv2/opencv.hpp>
#include<iostream>


cv::VideoWriter writer;
using namespace std;
using namespace cv;

int main()
{
    Mat src=imread("/Users/arcstone_mems_108/Desktop/7/1.jpg",1);
    if(!src.data)
    {
        cout<<"buxinga"<<endl;
    }
    char image_name[50];
    int isColor = 1;
    int fps = 10;
    int frameWidth = src.cols;
    int frameHeight = src.rows;

    writer = VideoWriter("/Users/arcstone_mems_108/Desktop/7/test_l.avi",CV_FOURCC('M','J','P','G'), fps,
                       Size(frameWidth, frameHeight), isColor);

    cout << "info:" << endl
         << "ff.avi" << endl
         << "Size:" << frameWidth << "*" << frameHeight << endl
         << "fps:" << fps << endl;


    for (int i = 1; i < 100; i++)
    {
        sprintf(image_name, "/Users/arcstone_mems_108/Desktop/7/%d.jpg", i);
        src = imread(image_name, 1);
        if (src.empty())
        {
           cout<<" 全部图像加载完成!";
            break;
        }
        imshow("【src】", src);
        waitKey(5);
        writer.write(src);
    }
}

猜你喜欢

转载自blog.csdn.net/ZHANG781068447/article/details/78607430