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

OpenCV中的颜色映射函数applyColorMap的使用

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

算法描述

OpenCV 中应用类似于 GNU Octave 或 MATLAB 中的颜色映射,虽然 OpenCV 中的颜色映射类型与 GNU Octave 或 MATLAB 中的颜色映射类型名称不完全相同,但它们在功能上是类似的。

函数原型

void cv::applyColorMap	
(
	InputArray 	src,
	OutputArray 	dst,
	int 	colormap 
)		

参数

  • 参数src 源图像,灰度或彩色,类型为 CV_8UC1 或 CV_8UC3。
  • 参数dst 结果是带有颜色映射的源图像。注意:Mat::create 会在 dst 上被调用。
  • 参数colormap T要应用的颜色映射,参见颜色映射类型(ColormapTypes)。

代码示例


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

int main( int argc, char** argv )
{
    // 加载灰度图像
    cv::Mat grayImage = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/qiu.jpg", cv::IMREAD_GRAYSCALE );

    if ( grayImage.empty() )
    {
        std::cerr << "Error: Image cannot be loaded!" << std::endl;
        return -1;
    }

    // 创建一个空的 Mat 对象来保存彩色图像
    cv::Mat colorImage;

    cv::imshow( "Original Gray Image", grayImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_JET );
    cv::imshow( "Colored Image COLORMAP_JET", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_BONE );
    cv::imshow( "Colored Image COLORMAP_BONE", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_HOT );
    cv::imshow( "Colored Image COLORMAP_HOT", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_COOL );
    cv::imshow( "Colored Image COLORMAP_COOL", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_SPRING );
    cv::imshow( "Colored Image COLORMAP_SPRING", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_SUMMER );
    cv::imshow( "Colored Image COLORMAP_SUMMER", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_AUTUMN );
    cv::imshow( "Colored Image COLORMAP_AUTUMN", colorImage );

    cv::applyColorMap( grayImage, colorImage, cv::COLORMAP_WINTER );
    cv::imshow( "Colored Image COLORMAP_WINTER", colorImage );

    cv::waitKey( 0 );

    return 0;
}

运行结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/294462.html

相关文章:

  • Stored procedures in PostgreSQL
  • 【Python TensorFlow】进阶指南(续篇一)
  • VSCode可以安装最新版,并且可以对应Node 12和npm 6
  • SpringBoot(十)SpringBoot使用QQ邮箱stmp发送邮件
  • 【C/C++】CreateThread 与 _beginthreadex, 应该使用哪一个?为什么?
  • 行业类别-智能制造-子类别工业4.0-细分类别物联网应用-应用场景智能工厂建设
  • LCP 485. 最大连续 1 的个数[lleetcode -11]
  • 通信工程学习:什么是PCM脉冲编码调制、DPCM差分脉冲编码调制、ADPCM自适应差分脉冲编码调制
  • Flask中实现上下文管理
  • ARM基础---编程模型---ARM汇编
  • 把设计模式用起来!(1)——楔
  • 算法复杂度 —— 数据结构前言、算法效率、时间复杂度、空间复杂度、常见复杂度对比、复杂度算法题(旋转数组)
  • 掌握Hive函数[2]:从基础到高级应用
  • 对比测评3款BI分析工具
  • es数组包含查询
  • 『功能项目』战士的A键连击【33】
  • Java项目: 基于SpringBoot+mybatis+maven+mysql图书馆管理系统(含源码+数据库+任务书+答辩PPT+毕业论文)
  • 2024 批量下载公众号渤海小吏1千篇文章导出pdf(带留言),抓取文章标题时间链接封面阅读数分享数留言数粉丝数导出excel
  • Python测试开发---什么是单例模式
  • tomato靶场攻略
  • 基于单片机的多功能数字闹钟设计
  • 【简单】 猿人学web第一届 第15题 备周则意怠,常见则不疑
  • javaWeb【day03】---(Vue-Element)
  • python | 字符串字母大小写转换方法
  • HalconDotNet中的图像特征与提取详解
  • MATLAB算法实战应用案例精讲-【人工智能】数据元(概念篇)