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;
}
相关推荐
Chaos_Wang_15 分钟前
NLP/大模型八股专栏结构解析
人工智能·自然语言处理·面经·大模型八股
蜉蝣天地23 分钟前
【懂点AI】AI重塑思维方式之:AI协助制定目标与计划
人工智能·程序员
jndingxin23 分钟前
OpenCV 图形API(13)用于执行两个矩阵(或图像)逐元素乘法操作的函数mul()
人工智能·opencv
乌恩大侠37 分钟前
AMD Versal™ AI Edge Series VEK280 Evaluation Kit
前端·人工智能·edge
维维180-3121-145544 分钟前
AI辅助下基于ArcGIS Pro的SWAT模型全流程高效建模实践与深度进阶应用
人工智能·arcgis·水文·swat模型
L_cl1 小时前
【NLP 54、大模型训练相关知识】
人工智能·机器学习·自然语言处理
黎明鱼儿1 小时前
LLaMA-Factory大模型微调全流程指南
人工智能·语言模型·大模型·llama-factory
xidianjiapei0011 小时前
LLM架构解析:循环神经网络(RNN)(第三部分)—— 从基础原理到实践应用的深度探索
人工智能·rnn·深度学习·神经网络·机器学习·llm
司南OpenCompass1 小时前
司南评测集社区 3 月上新一览!
人工智能·大模型评测·司南评测·司南评测集社区
扫地的小何尚2 小时前
使用NVIDIA NIM微服务加速科学文献综述
开发语言·数据结构·人工智能·深度学习·微服务·云原生·架构