当前位置: 首页 > article >正文

OpenCV视频I/O(19)视频写入类VideoWriter之释放 VideoWriter 对象占用的资源函数release()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

关闭视频编写器。
该方法会在后续的 VideoWriter::open 调用和 VideoWriter 析构函数调用时自动调用。
cv::VideoWriter::release() 函数用于释放 VideoWriter 对象占用的资源。

函数原型

virtual void cv::VideoWriter::release	(		)	

参数

此函数不接受任何参数

代码示例


#include <opencv2/opencv.hpp>
#include <iostream>
#include <fstream>

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);

    // 释放资源
    writer.release();

    return 0;
}

http://www.kler.cn/news/342744.html

相关文章:

  • vue 深拷贝和浅拷贝的区别
  • kafka和zookeeper单机部署
  • 制作一个流水灯,控制发光二极管由上至下再由下至上反复循环点亮显示,每次点亮一个发光二级管(Proteus 与Keil uVision联合仿真)
  • 控制台java原生工具打包jar文件
  • 51c自动驾驶~合集3
  • 模块化沙箱的功能特点
  • 数据结构之——树形结构
  • 多线程实践(一)——# 基于多线程实现的并发服务器
  • 计算机毕业设计 基于Python的豆果美食推荐系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
  • Python知识点:基于Python工具,如何使用PyTorch进行图像分类
  • 仿IOS桌面悬浮球(支持拖拽、自动吸附、自动改变透明度与点击、兼容PC端与移动端)
  • Java项目: 基于SpringBoot+mybatis+maven+vue健身房管理系统(含源码+数据库+毕业论文)
  • 查询数据库绘制历史曲线
  • C++ socket编程(1)
  • 你知道C++多少——栈和队列
  • Pr 视频效果:元数据和时间码刻录
  • 数据仓库拉链表
  • 7.并发编程之并发安全问题
  • 【Linux】Linux 环境变量中 LOGNAME 和 USER 有什么本质区别
  • 通义灵码-----阿里巴巴推出的 AI 编程助手,一站式安装使用教程。 我自己就是在用,感觉写代码会高效很多