Opencv C++:使用VideoWriter 写视频

使用 VideoWriter 写视频文件

用代码说明如何写视频:

#include <opencv2/opencv.h>
voide videoWrite()
{
    std::string inputFile = "test.mp4";
	cv::VideoCapture cap(inputFile);
	std::string filePath; // 写如文件路径
	int fps=25;
	int width=100;
	int height=100;
	cv::Mat frame;
    cv::VideoWriter videoWriter(filePath, cv::FOURCC(‘X', 'I', 'V', 'D'),fps ,cv::Size(height, width));
    while(cap.read(frame))
    {
        videoWriter.write(frame);
    }
    cap.release();
    videoWriter.release();
}

以上代码手写,作为示例,没有验证,如有错误请自行改正。

容易出现的错误分析:

  1. 写入的帧的大小要和上面videoWriter 中指定的大小统一,否则会写入错误;
  2. 注意fourcc要与保存的格式进行对应;
  3. 当写入的尺寸过大时,可能会写入错误。我在写入视频的帧大小为 3850*1080 时,写入不成功;将尺寸缩小一半,写入成功。具体原因未找到。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值