opencv:将imshow的内容写到avi文件中

这篇博客介绍了如何利用OpenCV的VideoWriter将imshow显示的图像帧保存为.avi视频文件。作者强调了设置正确的视频尺寸和编码器的重要性,并提供了详细的代码示例,展示了如何在循环中捕获和写入图像帧。这个过程对于记录和后期查阅摄像头或其他数据源的视觉输出非常有用。
摘要由CSDN通过智能技术生成

由于公司项目需要,这里需要将imshow显示出来的内容输出到avi文件中,做一个记录,以防后面需要的时候方便找到。

这里用的是VideoWriter。

//视频保存地址
QString save_path = save_path_;
save_path.append(".avi");
std::string outputVideoPath = qstr2str_(save_path);
//std::cout<<"save_path:"<<outputVideoPath<<std::endl;
cv::VideoWriter videoWriter;
cv::Size S = cv::Size((int)cameraCfg.camWidth/2,
                                      (int)cameraCfg.camHeight/2);

videoWriter.open(outputVideoPath,CV_FOURCC('M', 'J', 'P', 'G'),30.0,S,true);

while(true)
{
    //这部分是显示,其中showImage是你从摄像头或者其他拿过来的数据转换成Mat来显示
    cv::imshow(name, showImage);
    videoWriter<<showImage;
    cv::waitKey(1);
}

这里Size部分,是你显示的宽和高,所以得确定你拿到的宽高,不然会在videoWriter<<showImage这部分出问题,会写不进去。

最初的视频保存地址那部分是QT的,就是你要保存的路径和名字,只填名字的话会保存到执行程序同目录下。所以说,如果大家要使用的话,就是cv::VideoWriter videoWriter;这里开始的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值