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

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

算法描述

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

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

函数原型

cpp 复制代码
virtual void cv::VideoWriter::write
(
	InputArray 	image
)	

参数

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

代码示例

cpp 复制代码
#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;
}
相关推荐
小白说大模型12 分钟前
AI Agent 调试实战:从 Prompt 追踪到执行回放的系统化排障方法
人工智能·prompt
科研小刘带你玩学术19 分钟前
【学术干货】CVPR论文解析:扩散模型如何推动生成式人工智能进入新时代?
人工智能·深度学习·计算机视觉·生成式ai·扩散模型
大模型服务器厂商20 分钟前
AI行业调价潮与产业逻辑解析:算力基建与科研服务器的核心价值
人工智能
Wang's Blog20 分钟前
AI Agent白手起家28: LangChain 五种提示词模板实战解析
大数据·人工智能·langchain
又折桃枝换酒钱22 分钟前
CrossLMM:通过双交叉注意力机制从大型多模态模型中解耦长视频序列
人工智能·深度学习·机器学习
码云之上24 分钟前
Prompt Engineering:从提示词文案到 Agent 行为契约
人工智能·架构·前端工程化
小码哥06828 分钟前
2026陪诊小程序与APP开发技术分析
大数据·人工智能·小程序
观远数据37 分钟前
决策闭环的第三公里:从洞察到行动之间,AI能补上什么
大数据·数据库·人工智能
一次旅行41 分钟前
RLHF全链路深度解析:Reward Model数学推导+PPO完整实战,对比GRPO轻量化方案
人工智能·算法·机器学习
HIT_Weston43 分钟前
164、【Agent】【OpenCode】TuiThreadCmd(工厂设计对比)
人工智能·agent·opencode