OpenCV图像文件读写(1)检查 OpenCV 是否支持某种图像格式的读取功能函数haveImageReader()的使用

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

算法描述

haveImageReader 函数通常用于检查 OpenCV 是否支持某种图像格式的读取功能。在 OpenCV 中,haveImageReader 函数可以帮助确定是否可以成功读取特定格式的图像文件。这是一个非常实用的功能,特别是在需要处理多种图像格式时。

函数原型

cpp 复制代码
bool cv::haveImageReader
(
	const String & 	filename
)	

参数

  • 参数filename 要检查的图像文件的路劲。

返回值

如果支持读取该格式的图像文件,返回 true;否则返回 false。

代码示例

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

int main()
{
    // 检查是否支持读取特定格式的图像文件
    std::string filename = "/media/dingxin/data/study/OpenCV/sources/images/fruit_small.jpg";

    if ( cv::haveImageReader( filename ) )
    {
        std::cout << "Supports reading image: " << filename << std::endl;

        // 读取图像
        cv::Mat img = cv::imread( filename );

        if ( img.empty() )
        {
            std::cout << "Could not read the image." << std::endl;
            return -1;
        }

        // 显示图像
        cv::imshow( "Original Image", img );
        cv::waitKey( 0 );
    }
    else
    {
        std::cout << "Does not support reading image: " << filename << std::endl;
    }

    return 0;
}

运行结果

终端输出:

bash 复制代码
Supports reading image: /media/dingxin/data/study/OpenCV/sources/images/fruit_small.jpg

图像:

相关推荐
Token炼金师几秒前
生产化的鸿沟:流式、缓存、可观测、红蓝对抗、限流降级与评测 —— 工程化六渡
人工智能·llm·可观测性·红蓝对抗·缓存策略·限流降级·评测体系
DMD1681 分钟前
AI海外外贸部:AI正在重新定义企业海外市场开发模式
大数据·人工智能·数字化转型·ai技术开发
PhotonixBay6 分钟前
共聚焦成像核心原理:针孔、PSF与三维形貌测量技术
人工智能·测试工具·算法
橘子星15 分钟前
MCP协议深度解析:从代码实例看跨进程工具调用
人工智能
明天有专业课22 分钟前
Harness:AI Agent 的"操作系统"
人工智能·agent
柒星栈35 分钟前
国产大模型“三国杀“:豆包收费、DeepSeek 开源、Kimi 2.5 万亿参数
人工智能·开源
AI人工智能+37 分钟前
护照OCR识别技术,依托深度神经网络模型,实现了从像素到语义的端到端智能解析
深度学习·计算机视觉·自然语言处理·ocr·护照ocr识别
星辰AI44 分钟前
ESLint 自定义规则实战:用 AST 分析封堵团队特有的代码坏味道
人工智能·ai·语言模型
dozenyaoyida1 小时前
LSTM 自编码器原理详解:从三门结构到 STM32 端侧异常检测落地
人工智能·stm32·lstm
石榴1 小时前
我用 Codex Vibe Coding 了一个 VS Code 数据库扩展:把付费墙后的工作流写成自己的工具
人工智能