因为只需要一段视频的指定部分,因此现将视频转化为了图片,在选取指定图片,有转化为视频。主要用到VideoWrite函数
代码:
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
VideoWriter video("test.avi", CV_FOURCC('X', 'V', 'I', 'D'), 10.0, Size(640, 480));
String img_path = "D:\\picture\\";
vector<String> img;
glob(img_path, img, false);
size_t count = img.size();
for (size_t i = 0; i < count; i++)
{
stringstream str;
str << i << ".jpg";
Mat image = imread(img_path + str.str());
if (!image.empty())
{
//resize(image, image, Size(640, 480));
video << image;
cout << "正在处理第" << i << "帧" << endl;
}
}
cout << "处理完毕!" << endl;
}
我设置的帧率为10,也就是一秒视频流由10张图片组成,相当于慢放视频,正常视频是通常帧率在30左右,可以自由设置。像素大小也可以自由设置,如果图片大小不统一,那么需要用注释掉的resize函数统一更改。
参考文献:
https://blog.csdn.net/hy13684802853/article/details/82503282