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 分钟前
OpenCV入门:Windows系统下OpenCV的安装与环境配置
人工智能·windows·opencv
智慧化智能化数字化方案3 分钟前
数字化转型:解读IBM—大型酒业集团数字化转型项目实施方案建议书【附全文阅读】
大数据·人工智能·集团数字化转型·酒业集团数字化·食品公司数字化·快消品数字化
许彰午4 分钟前
从 CacheSQL 到创造民主化——AI 时代,想法即产品
人工智能
拥春飞翔7 分钟前
AI 生成测试用例:测试知识库选「开源向量库」还「Git+Markdown」?
人工智能·git·测试用例
水如烟10 分钟前
孤能子视角:“Anthropic招STEM研究员驻场补齐Claude判断力短板“解读,以及“异质大模型耦合“
人工智能
love530love12 分钟前
Clink 在 VS 2022 Developer Command Prompt 中的配置与路径精简调校
人工智能·windows·microsoft·clink
水如烟16 分钟前
孤能子视角:“周易“
人工智能
互联网推荐官18 分钟前
上海物联网应用开发的协议选型与平台架构实践
人工智能·物联网·软件工程
Data-Miner18 分钟前
50页精品PPT|MES整合IIOT技术提升企业数字化智造
人工智能·制造
天一生水water20 分钟前
机器学习从入门到理解
人工智能·机器学习