1.我创建了一个 cv::VideoWriter 对象,用于写入一个名为 “output.avi” 的视频文件。我使用 cv::VideoWriter::fourcc 函数指定了一个 ‘MJPG’ 编码器,帧率为30帧/秒,帧大小为640x480像素。
void jpg2vedio()
{
// 创建一个VideoWriter对象
cv::VideoWriter writer("output.avi", cv::VideoWriter::fourcc('M', 'J', 'P', 'G'), 30, cv::Size(640, 480));
for (int i = 0; i < 100; i++)
{
// 生成文件名
std::string filename = "frame" + std::to_string(i) + ".jpg";
// 读取图像
cv::Mat frame = cv::imread(filename);
// 将图像写入视频
writer.write(frame);
}
// 关闭VideoWriter对象
writer.release();
return 0;
}
2.写入图像帧:你可以使用 cv::VideoWriter::write 函数将 cv::Mat 对象(即图像帧)写入视频文件。
3.关闭 cv::VideoWriter 对象:当你完成视频写入后,你应该使用 cv::VideoWriter::release 函数关闭 cv::VideoWriter 对象。
请注意,你需要确保你的图像帧的大小和类型与你在 cv::VideoWriter 中指定的大小和类型相匹配。如果不匹配, cv::VideoWriter::write 函数可能会失败。