OpenCV视频I/O(6)检查视频捕获对象是否已成功打开的函数isOpened()的使用

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

算法描述

如果视频捕获已经初始化,则返回 true。

如果之前调用 VideoCapture 构造函数或 VideoCapture::open() 成功,则该方法返回 true。

isOpened 函数是 OpenCV 中 VideoCapture 类的一个成员函数,用于检查视频捕获对象是否已成功打开并准备好进行读取或捕获操作。

函数原型

cpp 复制代码
virtual bool cv::VideoCapture::isOpened	()	const

参数

此函数不接受任何参数

返回值

类型:bool

描述:返回值指示视频捕获对象是否已成功打开。如果返回 true,则表示对象已成功打开;如果返回 false,则表示对象尚未打开或已关闭。

代码示例

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

int main()
{
    // 使用默认摄像头(索引为 0),并指定使用默认后端
    cv::VideoCapture cap( 0 );

    // 检查是否成功打开了摄像头
    if ( !cap.isOpened() )
    {
        std::cout << "Error opening video stream or file" << std::endl;
        return -1;
    }

    // 循环读取并显示视频帧
    while ( true )
    {
        // 从视频流中读取下一帧
        cv::Mat frame;
        cap >> frame;  // 或者使用 cap.read(frame);

        // 如果没有读取到帧,则退出循环
        if ( frame.empty() )
        {
            std::cout << "No frame grabbed." << std::endl;
            break;
        }

        // 显示视频帧
        cv::imshow( "Camera Stream", frame );

        // 按 'q' 键退出循环
        if ( cv::waitKey( 1 ) == 'q' )
        {
            break;
        }
    }

    // 释放资源
    cap.release();
    cv::destroyAllWindows();

    return 0;
}

运行结果

输出的是一个实时视频窗口:

相关推荐
山川而川-R14 分钟前
图像进行拼接-后进行ocr检测识别
人工智能·计算机视觉·ocr
CIO4029 分钟前
AI未来--AI在制造业的最佳落地实践
人工智能
AI人工智能+34 分钟前
从“手动填”到“自动识”:营业执照识别技术革新政务体验
人工智能·深度学习·ocr·营业执照识别
txwtech34 分钟前
第9篇 opencv提取矩形角度不是很准确的处理方法
人工智能·opencv·计算机视觉
却道天凉_好个秋34 分钟前
OpenCV(十二):Mat
人工智能·opencv·计算机视觉
TreeExplore35 分钟前
OpenCV工程中直接包含调用vs2022
人工智能·opencv·计算机视觉
Juchecar1 小时前
从瑟瑟发抖到电流“高速公路”:揭秘能量与神奇的微观世界
人工智能
珊珊而川1 小时前
vllm论文中figure3每个块的区别
人工智能
北海道浪子1 小时前
[免费送$1000]ClaudeCode、Codex等AI模型在开发中的使用
前端·人工智能·后端
福客AI1 小时前
电商智能客服机器人:客服的服务革新之路
人工智能·机器人