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

OpenCV视频I/O(9)视频采集类VideoCapture之释放与视频捕获相关的所有资源函数release()的使用

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

算法描述

关闭视频文件或捕获设备。
该方法由随后的 VideoCapture::openVideoCapture 析构函数自动调用。
C 函数还释放内存并清除 *capture 指针。

cv::VideoCapture::release() 是 VideoCapture 类的一个成员函数,用于释放与视频捕获相关的所有资源。

函数原型

virtual void cv::VideoCapture::release	()	

参数

此函数不接受任何参数

代码示例

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{// 创建一个 VideoCapture 对象cv::VideoCapture cap;// 定义摄像头设备索引int cameraIndex = 0;  // 第一个摄像头设备// 尝试打开摄像头设备if ( !cap.open( cameraIndex, cv::CAP_ANY ) ){std::cout << "Failed to open camera at index: " << cameraIndex << std::endl;return -1;}// 检查是否成功打开了摄像头设备if ( !cap.isOpened() ){std::cout << "Error opening camera at index: " << cameraIndex << std::endl;return -1;}// 循环读取并显示视频帧while ( true ){// 创建一个 Mat 对象来存储视频帧cv::Mat frame;// 从视频流中读取下一帧if ( !cap.read( frame ) ){std::cout << "No frame grabbed." << std::endl;break;}// 检查是否成功读取到了帧if ( frame.empty() ){std::cout << "Frame is empty." << std::endl;break;}// 显示视频帧cv::imshow( "Camera Stream", frame );// 按 'q' 键退出循环if ( cv::waitKey( 1 ) == 'q' ){break;}}// 释放资源cap.release();cv::destroyAllWindows();return 0;
}

http://www.mrgr.cn/news/38483.html

相关文章:

  • 【C++】类和对象(类的定义,类域,实例化,this指针)
  • 华为仓颉语言入门(7):深入理解 do-while 循环及其应用
  • 区块链可投会议CCF C--FC 2025 截止10.8 附录用率
  • 【hadoop安装】
  • 软件设计——随手笔记
  • Feign:服务挂了也不会走fallback
  • PY32F002B
  • 「JavaScript深入」彻底搞懂JS原型与原型链
  • 繁体字能申请注册商标吗?
  • 【AIGC】ChatGPT提示词助力自媒体内容创作升级
  • 支付宝远程收款api之小荷包跳转码
  • 黑神话悟空小西天
  • Scrapy入门
  • 网络编程(Java)
  • 用Uvicorn 构建和部署高性能的异步 Web服务器@python
  • ViTamin——视觉-语言时代的可扩展视觉模型设计
  • SPI驱动学习七(SPI_Slave_Mode驱动程序框架)
  • 大语言模型知识点分享
  • 【C++】C++的Vector使用和实现
  • 【ESP32】Arduino开发 | I2C控制器+I2C主从收发例程