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;
}
相关推荐
星爷AG I5 分钟前
14-3 开环控制和闭环控制(AGI基础理论)
人工智能·agi
总有刁民想爱朕ha6 分钟前
OpenClaw + 钉钉:打造企业级AI智能助手,让工作更高效
人工智能·钉钉·openclaw
min1811234566 分钟前
组织结构图导出PDF 高清无水印在线生成
网络·人工智能·架构·pdf·流程图·copilot
AI科技7 分钟前
AI编曲软件助力原创音乐人,可以给清唱歌词的音频制作编曲伴奏,完整快速出歌曲
人工智能·音视频
西***63478 分钟前
无死机、高流畅!FPGA架构高清画面分割器解锁多场景应用新可能
分布式·音视频
北辰alk11 分钟前
OpenClaw深度揭秘:从架构原理到实战部署,打造专属AI数字员工
人工智能
有Li19 分钟前
CIA-net:用于多模态MRI卵巢肿瘤分割的跨模态交互与聚合网络/文献速递-大模型与图像分割在医疗影像中应用
论文阅读·人工智能·深度学习·计算机视觉·文献
GlobalInfo21 分钟前
汽车侧摄像头市场份额调研及投资战略研究报告2026
大数据·人工智能·汽车
吴佳浩23 分钟前
大模型垂直领域微调系列(一):认识微调
人工智能·llm
WeeJot嵌入式25 分钟前
ICLR 2026低秩Transformer解决方案:多变量时间序列异常检测与定位的数学原理
人工智能·深度学习·transformer