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

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

算法描述

haveImageWriter 函数用于检查 OpenCV 是否支持某种图像格式的写入功能。这个函数可以帮助开发者在编写代码时确定是否可以成功地将图像写入特定格式的文件中。

函数原型

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

参数

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

返回值

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

代码示例

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

int main()
{
    // 读取图像
    cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/fruit_small.jpg" );

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

    // 检查是否支持写入特定格式的图像文件
    std::string outputFilename = "output_image.png";

    if ( cv::haveImageWriter( outputFilename ) )
    {
        std::cout << "Supports writing image: " << outputFilename << std::endl;

        // 写入图像
        std::vector< int > params;
        params.push_back( cv::IMWRITE_PNG_COMPRESSION );  // 设置 PNG 压缩级别
        params.push_back( 9 );                            // 压缩级别为 9

        bool success = cv::imwrite( outputFilename, img, params );
        if ( success )
        {
            std::cout << "Image has been written successfully." << std::endl;
        }
        else
        {
            std::cout << "Failed to write the image." << std::endl;
        }
    }
    else
    {
        std::cout << "Does not support writing image: " << outputFilename << std::endl;
    }

    // 显示图像
    cv::imshow( "Original Image", img );
    cv::waitKey( 0 );

    return 0;
}

运行结果

终端:

bash 复制代码
Supports writing image: output_image.png
Image has been written successfully.

原始图:

相关推荐
阿豪Jeremy2 分钟前
bert-base-chinese-ner微调总结——针对“领域实体微调”及“增量实体微调”任务
人工智能·深度学习·bert
KG_LLM图谱增强大模型14 分钟前
知识图谱+大模型“驱动的生物制药企业下一代主数据管理:Neo4j知识图谱与GraphRAG及GenAI的深度整合
人工智能·大模型·知识图谱
DisonTangor16 分钟前
【DeepSeek拥抱开源】通过可扩展查找实现的条件记忆:大型语言模型稀疏性的新维度
人工智能·语言模型·自然语言处理
lkbhua莱克瓦2417 分钟前
稠密、稀疏与MoE:大模型时代的三重架构革命
人工智能·深度学习·机器学习·ai·架构
反向跟单策略17 分钟前
期货反向跟单-贵金属牛市中的反向跟单密码
大数据·人工智能·学习·数据分析·区块链
K姐研究社17 分钟前
实测百度文库AI PPT制作,一键排版美化生成专业PPT
人工智能·百度·powerpoint
万邦科技Lafite19 分钟前
阿里巴巴商品详情API返回值:电商精准营销的关键
大数据·数据库·人工智能·电商开放平台
TMT星球24 分钟前
康迪科技携核心电动产品亮相AIMExpo,渠道拓展再提速
人工智能·科技
kingmax5421200825 分钟前
NOAI和IOAI竞赛学习路径
人工智能·学习·青少年编程
说私域26 分钟前
基于AI智能名片链动2+1模式服务预约小程序的旅拍消费需求激发路径研究
大数据·人工智能·小程序