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

news2024/11/14 20:54:07
  • 操作系统: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.coloradmin.cn/o/2099750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows Server 安装MySQL教程(图文)

本篇教程&#xff0c;在服务器Windows Server 2016 &#xff08;中文版&#xff09;上安装MySQL8.0&#xff0c;并记录详细的安装步骤。 1、下载安装包 在mysql官网上下载安装包 下载地址&#xff1a;https://dev.mysql.com/downloads/installer/ 2、安装步骤 下载之后&#xf…

常见概念 -- WSS光层环回

光层环回&#xff0c;即业务收发经过同一块WSS单板&#xff0c;在WSS单板的DM/AM层面或内部端口层面进行环回&#xff0c;用于定位问题。 目前&#xff0c;光层环回有两种实现方式。 方式一&#xff1a;需要人工进行物理连纤&#xff0c;将WSS单板的DM和AM接口用光纤环回&…

3.2 寻址方式

&#x1f393; 微机原理考点专栏&#xff08;通篇免费&#xff09; 欢迎来到我的微机原理专栏&#xff01;我将帮助你在最短时间内掌握微机原理的核心内容&#xff0c;为你的考研或期末考试保驾护航。 为什么选择我的视频&#xff1f; 全程考点讲解&#xff1a;每一节视频都…

Datawhale x李宏毅苹果书AI夏令营深度学习详解入门 Task3

在深度学习中&#xff0c;模型偏差、优化问题和过拟合是我们经常会遇到的挑战。理解这些问题并找到合适的解决方法对于提高模型的性能至关重要。 第一章&#xff1a;模型偏差 1.1 模型过于简单可能导致模型偏差 在应用机器学习算法时&#xff0c;如果模型过于简单&#xff0c;就…

前端三件套配合MarsCode实现钉钉官网动画 # 豆包MarsCode

文章目录 如何固定动画区域创建项目MarsCode 设置样式MarsCode 优点1MarsCode 缺点MarsCode 优点2 js实现动画实现获取动画曲线的函数为什么实现这个函数&#xff1f;根据当前滚动位置&#xff0c;计算每一个元素不同的数值更新 dom 的 style更新 animationMapgetDomAnimation …

| AutoDL租服务器 |AutoDL租服务器保姆级教程

&#x1f411; | AutoDL租服务器 |AutoDL租服务器保姆级教程 &#x1f411; 文章目录 &#x1f411; | AutoDL租服务器 |AutoDL租服务器保姆级教程 &#x1f411;&#x1f411; 前言&#x1f411;&#x1f411; 实例创建&#x1f411;&#x1f411; 环境配置&#x1f411;&am…

C# DLL已定义类或方法,但是编译报错未定义

现有应用程序1个&#xff0c;动态链接库3个分别称为A、B、C。 应用程序输出在目录P1&#xff0c;动态链接库输出在目录P2。 应用程序引用A、B、C动态链接库&#xff0c;动态链接库A引用B&#xff0c;B引用C。 此时修改动态链接库C&#xff0c;在VS中开发应用程序时可以识别到…

MQ专题:消息积压相关问题和解决思路

一、如何发现消息出现了堆积 二、常见的原因及解决方案 三、消息出现了大量堆积&#xff0c;如何解决 四、建议

2024年软考-信息安全工程师考试介绍及考纲

2024年软考-信息安全工程师考试介绍及考纲 2024年软考-信息安全工程师 考试介绍及考纲 一、考试信息 考试时间&#xff1a;预计2024年11月9日-12日。 考试科目&#xff1a; 科目一&#xff1a;基础知识 客观题&#xff1a;75空 满分&#xff1a;75分 科目二&#xff1a;应用…

C++ | Leetcode C++题解之第391题完美矩形

题目&#xff1a; 题解&#xff1a; class Solution { public:bool isSubsequence(string s, string t) {int n s.size(), m t.size();vector<vector<int> > f(m 1, vector<int>(26, 0));for (int i 0; i < 26; i) {f[m][i] m;}for (int i m - 1; …

linux中最简单方式使用crontab打印当前时间

因特殊需求&#xff0c;需要在linux的某个文件中每分钟打印出当前时间。 先手动试一下命令&#xff1a; echo $(date) 打印出&#xff1a; Mon Sep 1 09:28:06 AM CST 2024 而我需要达到的效果是&#xff1a; 2024-09-01 09:28:06 于是命令改成了&#xff1a; echo $(date &quo…

Unified-IoU:用于高质量对象检测

摘要 https://arxiv.org/pdf/2408.06636 目标检测是计算机视觉领域的重要部分&#xff0c;而目标检测的效果直接由预测框的回归精度决定。作为模型训练的关键&#xff0c;交并比&#xff08;IoU&#xff0c;Intersection over Union&#xff09;极大地展示了当前预测框与真实框…

GCViT实战:使用GCViT实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

Android kotlin使用Netty网络框架实践(客户端、服务端)

开发工具&#xff1a;Android studio 语言:kotlin 设计原理&#xff1a;通讯协议&#xff1a;头类型长度数据尾&#xff0c;自定义编解码器&#xff0c;解析和包装发送数据流&#xff0c;以下贴出部分关键代码 说明&#xff1a;代码中封装了client和server端&#xff0c;可…

记录一下idea的一些使用技巧和遇到的异常(持续更新)

技巧 自己的模板——live template 有些代码在项目中通常会被用到或会被重复使用&#xff0c;可以自己写一个模板存起来&#xff0c;要用的时候用快捷键生成就可以了。 在这里选择生效范围 现在&#xff0c;就有我们自己的模板了&#xff0c;一回车就自动生成 idea的全局配置…

AD7606工作原理以及FPGA控制验证(串行和并行模式)

文章目录 一、AD7606介绍二、AD7606采集原理2.1 AD7606功能框图2.2 AD7606管脚说明 三、AD7606并行模式时序分析以及实现3.1 并行模式时序图3.2 并行模式时序要求3.3 代码编写3.4 仿真观察 四、AD7606串行模式时序分析以及实现4.1 串行模式时序图4.2 串行模式时序要求4.3 代码编…

WWDG—窗口看门狗

WWDG—窗口看门狗 窗口看门狗跟独立看门狗一样&#xff0c;也是一个递减计数器不断的往下递减计数&#xff0c;当减到一个固定值 0X40时还不喂狗的话&#xff0c;产生复位&#xff0c;这个值叫窗口的下限&#xff0c;是固定的值&#xff0c;不能改变。这个是跟独立看门狗类似的…

C练手题--Two Oldest Ages 【7 kyu】

一、原题 链接&#xff1a;Training on Two Oldest Ages | Codewars The two oldest ages function/method needs to be completed. It should take an array of numbers as its argument and return the two highest numbers within the array. The returned value should b…

bash反弹shell分析

目录 介绍步骤 介绍 与目标主机建立连接的原理是利用漏洞执行ShellCode。 GetShell的实质是&#xff1a;执行ShellCode&#xff0c;将目标主机的Shell重定向到攻击机。拿到Shell利于后续的渗透。 所谓的反弹Shell是指GetShell的过程由目标主机主动发起&#xff08;反向连接&a…

mysql(查询)

1.单表查询 &#xff08;1&#xff09;查询多个字段 指定列查询基础语法&#xff1a;select 字段1&#xff0c;字段2&#xff0c;字段3&#xff0c;... from 表名&#xff1b; 全列查询基础语法&#xff1a;select * from 表名&#xff1b; 注意&#xff1a; 1&#xff09;在实…