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;
}
相关推荐
老顾聊技术1 分钟前
“Anthropic 最新发布的 AI Skills:赋能任务自动化与跨领域应用“
运维·人工智能·自动化
AI科技星4 分钟前
时空几何:张祥前统一场论20核心公式深度总结
人工智能·线性代数·算法·机器学习·生活
Coovally AI模型快速验证22 分钟前
仅192万参数的目标检测模型,Micro-YOLO如何做到目标检测精度与效率兼得
人工智能·神经网络·yolo·目标检测·计算机视觉·目标跟踪·自然语言处理
BOB-wangbaohai28 分钟前
软考-系统架构师-未来信息综合技术(一)
人工智能·软考·系统架构设计师
愚公搬代码36 分钟前
【愚公系列】《AI+直播营销》024-直播平台选择与引流方法(直播平台的八大引流方法)
人工智能
金智维科技官方39 分钟前
安全稳定,是企业部署智能体的基础
人工智能·安全·ai·ai agent·智能体·数字员工
金檀教科44 分钟前
中小学午休课桌椅新国标之外的“安全风险”:校金刚的产品设计更有优势
人工智能
zhang_xiaoyu581 小时前
国联股份董事、高级副总裁王挺一行赴宣城国控集团参观考察并签署战略合作协议
大数据·人工智能·物联网
老贾专利烩1 小时前
多技术融合难点:智能生发专利的协同稳定性研究
大数据·人工智能
henujolly1 小时前
RAG Vs fine-tuning
人工智能