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;
}
相关推荐
momo在敲码7 分钟前
Claude Sub-agents 完整可跑代码:3 个 design pattern + omni-report 真实编排(45 min → 8 min
人工智能·github
jinxindeep7 分钟前
JoyAI-Echo:让五分钟叙事视频拥有可延续的角色记忆
音视频
moMo12 分钟前
# 不懂机器学习也能玩 NLP?用DeepSeek 跑通四种经典任务
人工智能·机器学习
Holman17 分钟前
用 Claude Code 30 分钟建立代码心智模型
人工智能·ai编程
全栈人月20 分钟前
使用 Kilo Code 解决遗留代码恐惧症
人工智能·单元测试·代码规范
团象科技22 分钟前
记录跨境独立站 海外VPS组合落地的一线实操动态与调研手记
大数据·人工智能
烟雨江南78533 分钟前
燃气轮机联合循环发电机组超高速旋转高频气流撕裂声与交变电磁啸鸣:基于“灵声智库”自适应空域 MVDR 与动态抄表数字注入的本地离线 ASR 控制系统
人工智能·语音识别·ai质检
财经资讯数据_灵砚智能34 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月6日
人工智能·python·ai·信息可视化·自然语言处理·ai编程·灵砚智能
泠不丁34 分钟前
远程开发者的工作台搭建与生活平衡
人工智能
澹锦汐39 分钟前
Node.js/Python 轻量化后端服务设计
人工智能