当前位置: 首页 > article >正文

OpenCV视频I/O(20)视频写入类VideoWriter之用于将图像帧写入视频文件函数write()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::VideoWriter::write() 函数用于将图像帧写入视频文件。

该函数/方法将指定的图像写入视频文件。图像的大小必须与打开视频编写器时指定的大小相同。

函数原型

virtual void cv::VideoWriter::write
(
	InputArray 	image
)	

参数

  • 参数image 被写入的帧。一般来说,期望的是 BGR 格式的彩色图像。

代码示例


#include <iostream>
#include <opencv2/opencv.hpp>

int main()
{
    // 设置视频的宽度和高度
    int frameWidth  = 640;
    int frameHeight = 480;

    // 设置视频编码器的 FourCC 代码
    // 使用 XVID 编码器作为替代方案
    int fourcc = cv::VideoWriter::fourcc( 'X', 'V', 'I', 'D' );

    // 创建 VideoWriter 对象
    cv::VideoWriter writer;

    // 初始化 VideoWriter 对象
    bool isOpened = writer.open( "output.avi", fourcc, 25, cv::Size( frameWidth, frameHeight ), true );

    if ( !isOpened )
    {
        std::cerr << "Failed to initialize the video writer." << std::endl;
        return -1;
    }

    // 创建一个示例帧
    cv::Mat frame = cv::Mat::zeros( frameHeight, frameWidth, CV_8UC3 );

    // 写入一帧到视频文件
    writer.write( frame );

    // 再次创建一个不同的帧
    cv::Mat anotherFrame = cv::Mat::ones( frameHeight, frameWidth, CV_8UC3 ) * 255;

    // 写入另一帧到视频文件
    writer.write( anotherFrame );

    // 释放资源
    writer.release();

    return 0;
}

http://www.kler.cn/news/342602.html

相关文章:

  • Docker极速入门一文通
  • 网络安全知识|网安问答题|OSPF报文协议|抓包工具|路由器环路|序列化与反序列化|磁盘利用率|网络攻防
  • VScode连接远程服务器踩坑实战(新版离线vscode-server安装)
  • react为什么不怕XSS
  • Stable Diffusion——stable diffusion基础原理详解与安装秋叶整合包进行出图测试
  • 除了deadline,我们还能用什么驱动开发?
  • Github优质项目推荐 - 第六期
  • 美发店管理新思路:SpringBoot系统开发
  • 在IDEA里用XDebug调试PHP,断点....
  • ①EtherNet/IP转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • Linux——echo-tail-重定向符
  • 【银河麒麟高级服务器操作系统】安全配置基线相关分析全过程及解决方案
  • gitee开源商城diygw-mall
  • leetcode hot100_part03_滑动窗口
  • 【VScode】如何使用详细步骤【笔记】、配置 C / C ++【笔记】
  • OpenStack系列第二篇:深入浅出了解OpenStack架构与优劣势
  • Web安全 - 跨站点请求伪造CSRF(Cross Site Request Forgery)
  • k8s 之安装helm服务
  • LLM试用-让Kimi、智谱、阿里通义、腾讯元宝、字节豆包、讯飞星火输出system prompt
  • Python 如何使用 multiprocessing 模块创建进程池