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;
}
相关推荐
灵机一物2 分钟前
灵机一物AI智能电商小程序(已上线)-Clawith开源多智能体平台:告别单一AI助手,打造专属AI数字员工团队
人工智能·ai员工·智能电商·开源智能体协作平台·clawith
刘大大Leo2 分钟前
大模型、Prompt、Skill、MCP、Agent、OpenClaw啥关系?使用AI效率提升10倍的秘诀
人工智能·chatgpt·prompt
六月的可乐2 分钟前
AI Agent:从零构建生产级AI智能体脚手架的架构思考
人工智能·ai·架构·langchain·前端框架·node.js·a
茫茫人海一粒沙5 分钟前
从 Prompt 到 Harness:AI Agent 工程范式的三次演进
人工智能
LS_learner5 分钟前
Node.js 与 npm 的版本对应关系表
人工智能
不知名的老吴10 分钟前
思考:AI算法领域主流语言是什么?
人工智能
彭祥.13 分钟前
基于计算机视觉的运动计数与饮食热量分析系统
人工智能·计算机视觉
超b小哥13 分钟前
【超详细】Claude Code Ubuntu平台完整部署指南
linux·人工智能·ubuntu·ai·claude code
wotaifuzao13 分钟前
给 AI 编写“外设驱动”——Agent Skills 工程落地全解析
人工智能·嵌入式架构·agent工程化·ai开发实践·自动化工具链·prompt工程进阶
剑穗挂着新流苏31216 分钟前
204_从回归到分类:Softmax 回归、损失函数与多分类实战
人工智能·pytorch·python·深度学习