OpenCV视频I/O(20)视频写入类VideoWriter之用于将图像帧写入视频文件函数write()的使用

news2024/10/8 12:15:40
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::VideoWriter::write() 函数用于将图像帧写入视频文件。

该函数/方法将指定的图像写入视频文件。图像的大小必须与打开视频编写器时指定的大小相同。

函数原型

virtual void cv::VideoWriter::write
(
	InputArray 	image
)	

参数

  • 参数image 被写入的帧。一般来说,期望的是 BGR 格式的彩色图像。

代码示例


#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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2196327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql 慢查询日志、设置单条数据最大 packet 插入大小指令

检查是否开启慢查询日志 show variables like "%slow%";slow_query_log为 ON 表示已经开启慢查询日志记录。 slow_query_log_file&#xff1a;慢查询日志文件存放地址 设置慢查询 sql 记录阈值 大于 1s 的 sql 都会被记录到日志文件里面。系统默认 10s。mysql 重…

3、Redis Stack扩展功能

文章目录 一、了解Redis产品二、申请RedisCloud实例三、Redis Stack体验1、RedisStack有哪些扩展&#xff1f;2、Redis JSON1、Redis JSON是什么2、Redis JSON有什么用3、Redis JSON的优势 3、Search And Query1、传统Scan搜索2、Search And Query搜索 4、Bloom Filter1、布隆过…

【Python_PySide6学习笔记(三十八)】基于QPushButton实现自定义的圆形按键指示灯类tQCircularButton

基于QPushButton实现自定义的圆形按键指示灯类tQCircularButton 基于QPushButton实现自定义的圆形按键指示灯类tQCircularButton前言正文1、Qt样式表1.1 Qt样式表1.2 样式属性 2、设置Qt样式表3、tQCircularButton类4、使用示例 基于QPushButton实现自定义的圆形按键指示灯类tQ…

系统规划与管理——1信息系统综合知识(3)

文章目录 1.3 信息系统1.3.1 信息系统定义1.3.2 信息系统的生命周期1.3.3 信息系统常用的开发方法 1.3 信息系统 1.3.1 信息系统定义 信息系统是一种以处理信息为目的的专门的系统类型。信息系统可以是手工的&#xff0c;也可以是计算机化的。计算机化的信息系统的组成部件包…

【JVM调优】JVM高频参数和最优实践

JVM高频参数 一、常用参数配置1. 堆内存设置方式1&#xff08;Java8及之前&#xff09;方式2&#xff08;Java9及之后&#xff09; 2. 新生代和老年代设置3. 垃圾收集器选择4. 调试和日志5. Metaspace设置6. 其他重要参数 二、参数设置最佳实践三、GC日志参数设置日志解析Minor…

构建宠物咖啡馆:SpringBoot框架的实现策略

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于Spring Boot的宠物咖啡馆平台的设计与…

Vue入门-使用Vue2完成简单的记事本Demo

需求&#xff1a; ①能够实现记录重复数据 ②全部清空 ③单条记录清空 页面效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content&quo…

2024年开放式蓝牙耳机品牌排行榜前十名,五个超实用开放式耳机品牌分享

​开放式耳机目前非常流行&#xff0c;它们以时尚、美观和舒适著称&#xff0c;迅速赢得了众多用户的喜爱&#xff0c;成为了耳机市场的新宠。与传统的入耳式耳机相比&#xff0c;开放式耳机佩戴更稳固&#xff0c;对耳朵也更为温和。尽管有些人认为它们价格不菲&#xff0c;甚…

【生命之光再启航】开颅术后苏醒之谜:揭秘康复之旅的时间窗

在医学的浩瀚星空中&#xff0c;开颅手术无疑是一颗璀璨而又充满挑战的星辰。它以其高风险、高技术含量&#xff0c;成为治疗颅脑疾病不可或缺的重要手段。然而&#xff0c;对于患者及家属而言&#xff0c;手术虽已完成&#xff0c;但“做完开颅手术多久能醒&#xff1f;”这一…

Ollama本地部署自定义大模型

Ollama本地部署自定义大模型 1. Ollama安装2. 模型选择3. Ollama使用3.1 创建模型3.2 运行模型-命令行3.3 运行模型-接口 4. 其他有用命令参考链接 Ollama是一个专为本地机器设计的开源框架&#xff0c;旨在简化大型语言模型&#xff08;LLM&#xff09;的部署和运行过程。它提…

AWS EC2 部署Echarts大屏展示项目

前言 Echarts简介 ECharts是一个由JavaScript开发的开源可视化库。它能使数据生动、直观、互动、高度个性化数据可视化图表。ECharts适用大部分浏览器&#xff0c;如IE6 、Chrome、Firefox、Safari等&#xff0c;同时支持PC和移动设备。 开源&#xff1a;ECharts是一个开源项目…

大模型RAG:文档分块方案与RAG全流程

一 RAG与文本分块 1.1 为什么要文档分块 我们知道&#xff0c;大模型在预训练阶段获取的知识是有限的&#xff0c;一般需要数据增强模块引入外部知识库&#xff0c;通过知识检索的方式搜索于用户提问相关的知识&#xff0c;这也是RAG相关应用架构出现的原因。但这又引申出另一…

一个简单的将产品图册转换为翻页电子产品图册的方法

​在数字化浪潮席卷全球的今天&#xff0c;企业纷纷寻求转型&#xff0c;纸质产品图册逐渐被翻页电子图册所替代。电子图册不仅具有环保、便捷、易于更新等优势&#xff0c;还能为企业节省大量印刷和物流成本。那么&#xff0c;如何将现有的实体产品图册转化为翻页电子图册呢 1…

YOLO11改进|注意力机制篇|引入反向残差移动快iRMB

目录 一、【iRMB】注意力机制1.1【iRMB】注意力介绍1.2【iRMB】核心代码 二、添加【iRMB】注意力机制2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、【iRMB】注意力机制 1.1【iRMB】注意力介绍 反向残差移动快iRMB结构如下所示&#xf…

「Ubuntu」根目录存储空间不足

Linux系统不同于 Windows系统&#xff0c;复杂的文件系统常常让人头疼&#xff0c;特别是动不动就存储空间不足&#xff0c;简单的清空回收站根本不管用&#xff0c;在此推荐一个绝对好用的方法&#xff0c;并且还可以多学习一条 Linux命令 1、du 使用方法 通过使用命令 du&am…

LabVIEW激光诱导击穿光谱识别与分析系统

LabVIEW激光诱导击穿光谱&#xff08;LIBS&#xff09;分析系统利用高能量脉冲激光产生高温等离子体&#xff0c;通过分析等离子体发出的光谱来定性分析样品中的元素种类。该系统的开发集成了软件与硬件的设计&#xff0c;实现了自动识别和定性分析功能&#xff0c;适用于环境监…

华为OD机试 - 优雅子数组 - 暴力枚举(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

哦豁!有了这份学习路径,AI小白也能学懂大模型!!

小白如何规划大模型学习路径&#xff1f;&#xff1f; 元仔有求必应&#xff0c;为各位同学整理出一份完整的大模型学习路径规划&#xff01; 初识大模型&#xff1a;概念与趋势 首先&#xff0c;AI小白应从基础出发&#xff0c;理解什么是大模型。 大模型&#xff0c;顾名…

LeetCode讲解篇之98. 验证二叉搜索树

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们可以通过递归搜索的方式查询某棵树是不是二叉搜索树&#xff0c;二叉搜索树需要满足的最小值与最大值的约束并且左子树和右子树都是二叉搜索树或者当前节点为空&#xff0c;以当前节点为根节点的树才是二叉搜…