OpenCV4 VideoWriter保存视频失败,MP4 0KB,AVI 6KB

序言

因为在学习OpenCV的时候难免会遇到一些不知道原理只知道API时,因臆想导致的错误失败,故此文就用于记录

环境

Qt5.12 + OpenCV4.5.4

错误原因

OpenCV的VideoWriter,其设置的视频大小参数需要与放进去的帧大小一致,否则就会写不进去。

正确示例

VideoCapture cap = VideoCapture( "test.avi" );
int fourcc = VideoWriter::fourcc('X', 'V', 'I', 'D');
Size size( static_cast<int>(cap.get( CAP_PROP_FRAME_WIDTH)), static_cast<int>(cap.get( CAP_PROP_FRAME_HEIGHT )));

VideoWriter out = VideoWriter("output.avi", fourcc, 20.0, size, CAP_DSHOW);

...
	Mat frame;
	cap.read( frame );
	out<< frame;

一般有两个方法,一个是在构造VideoWriter时就将读取的宽高写进去,第二种就是将即将写进去的帧改为自己想要的宽高再写进去。

注:本版本没有VideoWriter_fourcc,只有VideoWriter的fourcc静态函数。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溪渣渣_梁世华

打赏?我甚至没有任何收费的章节

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值