时间:2021-06-12 08:17:41 | 栏目: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; }