第九节 Opencv自带颜色表操作

ops/2024/11/18 0:48:41/

知识点:Look Up lTable(LUT)查找表

了解LUT查找表的作用与用法,代码实现与API介绍

-applyColorMap(src,dst,COLORMAP)

-src表示输入图像

-dst表示输出图像

=匹配到的颜色LUT,Opencv支持13种颜色风格的查找映射

void QUickdemo::color_style_demo(Mat& image)
{
    int colormap[] = {

        COLORMAP_AUTUMN,
        COLORMAP_BONE,
        COLORMAP_JET,
        COLORMAP_WINTER,
        COLORMAP_RAINBOW,
        COLORMAP_OCEAN,
        COLORMAP_SUMMER,
        COLORMAP_SPRING,
        COLORMAP_COOL,
        COLORMAP_HSV,
        COLORMAP_PINK,
        COLORMAP_HOT,
        COLORMAP_PARULA,
        COLORMAP_MAGMA,
        COLORMAP_INFERNO,
        COLORMAP_TURBO,
        COLORMAP_PLASMA,
        COLORMAP_VIRIDIS,
    };
    Mat dst;
    int index = 0;
    while (true)
    {
        int c = waitKey(2000);--等待用户键盘输入,如果在2s没有输入将会输入-1.
        if (c == 27)
        {
            break;
        }
        applyColorMap(image, dst, colormap[index % 19]);--在opencv中applyColormap函数用于将颜色映射应用于输入图像,image输入单通道灰度图像,dst输出的三通道的彩色图像,colormap【。。。】预先定义的包含多个颜色映射常量的列表和数组,colormap【index%19】规定一直趋于在0-18之间循环;
            index++;
            imshow("颜色风格", dst);
    }
}

image是原始输入图像,它在整个过程中保持不变(除非外部有对它的修改操作)。

程序通过不断变化的index值,结合colormap[index % 19]从一系列预定义的颜色映射中选择一个特定的颜色映射常量。然后通过applyColorMap(image, dst, colormap[index % 19])将输入图像image按照选定的颜色映射进行处理,并将结果输出到dst图像中。

所以可以说是根据不断变化的index(由用户等待时间和键盘输入决定其变化)来从applyColorMap的可用颜色映射中选择对应的颜色映射,并将处理后的结果赋予dst。

个人理解,如有问题,请多指正


http://www.ppmy.cn/ops/117785.html

相关文章

网络高级day03(Http)

目录 【1】HTTP简介 【2】 HTTP特点 【3】 HTTP协议格式 1》客户端请求消息格式 1> 请求行 2> 请求头 3> 空行 4> 请求数据 2》服务器响应消息格式 【1】HTTP简介 HTTP协议是Hyper Text Transfer Protocol (超文本传输协议)的缩写&a…

element ui 精确控制日期控件 date-picker

https://github.com/element-plus/element-plus/discussions/17378 -- 某组件 xxx.vue ... <el-date-pickerv-model"timeRange"type"daterange"range-separator"-"start-placeholder"开始日期"end-placeholder"结束日期"…

利用QEMU安装一台虚拟机的三种方法

文章目录 宿主机的选择方法一&#xff1a;直接用qemu源码安装步骤1&#xff1a;下载好qemu源码&#xff0c;这里我们用qemu-5.1.0步骤2&#xff1a;编译步骤3&#xff1a;创建一个系统盘步骤4&#xff1a;用步骤2编译的qemu-system-x86_64 启动一台Linux虚拟机步骤5&#xff1a…

架构设计笔记-5-软件工程基础知识

知识要点 按软件过程活动&#xff0c;将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。 软件开发工具&#xff1a;需求分析工具、设计工具、编码与排错工具。 软件维护工具&#xff1a;版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工…

Stream流将List转换成Map

一、前言 通常会需要使用到对象和Map互相转换的开发场景,下面这篇文章主要给大家介绍了关于java对象list使用stream根据某一个属性转换成map的3种方式,需要的朋友可以参考下。 二、将List转换为Map&#xff0c;键为某个属性&#xff0c;值为对象本身 List<User> userL…

js中正则表达式中【exec】用法深度解读

exec() 是 JavaScript 正则表达式对象&#xff08;RegExp&#xff09;中的一个方法&#xff0c;用于匹配字符串中的特定模式&#xff0c;并返回匹配结果。它比 test() 和 match() 更强大&#xff0c;因为它不仅仅返回匹配成功与否&#xff0c;还返回匹配的具体内容及其相关信息…

PSS-sdy_opengl_sdd

PSS-sdy_opengl_sdd是一个基于商用工具SCADE Display&#xff08;OpenGL&#xff09;的二次开发项目。 该项目构建的工具可用于生成SCADE Display&#xff08;OpenGL&#xff09;软件模型的软件设计文档。其设计思想详见&#xff1a; SCADE Display&#xff08;OpenGL&#xf…

基于 Redis 实现滑动窗口的限流

⏳ 限流场景&#xff1a;突发流量&#xff0c;恶意流量&#xff0c;业务本身需要 基于 Redis 实现滑动窗口的限流是一种常见且高效的做法。Redis 是一种内存数据库&#xff0c;具有高性能和支持原子操作的特点&#xff0c;非常适合用来实现限流功能。下面是一个使用 Redis 实现…