文章目录 一、colormap 矩阵分析 二、自定义 colormap 颜色图 1、生成 colormap 矩阵 2、代码示例 一、colormap 矩阵分析 ---- imagesc 函数参考文档 _64x3 = green_colormap'; 这里转置之后的 green_colormap_64x3 就可以作为颜色图 colormap 使用 ; 2、代码示例 代码示例 : % 生成一个 10 x '; % 使用 10 x 3 的颜色网格表示 x 10 x 3 的矩阵 imagesc(x); % 查看颜色图颜色值 colorbar; % 设置自定义的颜色图 colormap(green_colormap _64x3); % 打印颜色图的值 green_colormap_64x3 green_colormap_64x3 运行结果 : 命令行窗口打印结果 : 打印的是生成的 64 \times 3 的 colormap 颜色图矩阵 >> Untitled10 green_colormap_64x3 = 0 0.5000 0 0 0.5079
创建 colormap 时通常需要以下两步: 使用 Normalize 实例或子类将数据数组归一化为 [0 1]之间的数组 使用 Colormap 子类的实例进行数据和颜色的映射 模块中提供了以下两个函数创建 colormap: LinearSegmentedColormap 所有内置 colormap 实例均由此函数创建,但也可以自定义colormap ListedColormap 从颜色列表创建 colormap 使用 LinearSegmentedColormap 的 from_list 方法创建 colormap # R, G, B 三色 colors = [(1, 0, 0), (0, 1, 0), (0, 0, 1)] # 用于进行 colormap 插值,表示 colormap 颜色区间 n_bins = [3, 6, 10, 100] # colormap 名 cmap_name 使用 RGB 字典进行颜色定义可能没有直接使用十六进制颜色来创建 colormap 更直观且易理解。当然自定义 colormap 的方式很多,而且都能达到要求。
matplotlib colormap非常强大,比其他软件要更好用 [注1],但是相当难理解。 大多数时候,可以使用颜色列表创建 colormap: from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt from import LinearSegmentedColormap # 表示在[0, 1] 之间创建6个颜色区间 cmap1 = LinearSegmentedColormap.from_list("my_colormap ,这个方法具有以下参数: 1)给定 colormap 名 2)颜色列表。 4) 函数返回 levles 和 colormap contourf 函数使用文件中定义的值绘图 ?
之所以推这篇文章,是因为看到了一个不错的colormap,苦于没有源文件,只能截图然后识别出颜色,但识别效果看起来又没那么好了(如下图)。 左侧为看到卫星亮温观测colormap,右侧为识别出的colormap 整体上来看也还算可以,但达不到满意的效果,便想根据颜色自行创建一个,成图效果如下。 好不好看暂且不说,这篇文章的主要目的是想说:绘图的时候颜色的选择不必拘泥于使用软件提供的colormap,应该根据想要强调的内容选择,比如这里想要强调亮温的不同温度区间,那么使用不同颜色就是一个很好的选择 colormap used to discrete :param start(int): start index of colormap, default 0 :param stop( int): stop index of colormap, default 1 :return discrete colormap Note: if base_cmap
# 如何复现别人论文中的colormap2首先,将别人论文中的colormap截图之后,拖到windows自带的画图工具中,选择吸管工具,然后点击其中一个颜色,(这里以图中的蓝色为例),再点击吸管工具, 这样就获得了完整的colormap对应的RGB。 图片然后,放到python中,将这一连串RGB定义为一个array,再使用 `ListedColormap` 函数定义为一个新的colormap,这样就可以在绘图的过程中使用了。 'new cmap' , ) ```新定义的colormap
利用matlab构建自己的colormap 利用matlab构建自己的colormap 利用matlab构建自己的colormap 1 色彩空间 2.matlab自带的colormap的提取与评估 2.1colormap提取 2.2颜色图的评估 3.自己创建colormap的两种方式 3.1从好看的图片上提取RGB 3.2自己根据HSV绘制colormap 4 常用颜色图分类 4.1 的提取与评估 2.1colormap提取 使用matlab自带的帮助可以获取颜色图的信息。 : 可以看到colormap不仅可以提取,还可以自行更改创建。 3.自己创建colormap的两种方式 3.1从好看的图片上提取RGB 有了上面的基础,就可以从好看的图片上提取出自己喜欢的colormap了。
,我定义的colormap变量如下: 1int colormap[]= { 2 COLORMAP_AUTUMN, 3 COLORMAP_BONE, 4 COLORMAP_JET , 5 COLORMAP_WINTER, 6 COLORMAP_RAINBOW, 7 COLORMAP_OCEAN, 8 COLORMAP_SUMMER, 9 COLORMAP_SPRING , 10 COLORMAP_COOL, 11 COLORMAP_PINK, 12 COLORMAP_HOT, 13 COLORMAP_PARULA, 14 COLORMAP_MAGMA , 15 COLORMAP_INFERNO, 16 COLORMAP_PLASMA, 17 COLORMAP_VIRIDIS, 18 COLORMAP_CIVIDIS, 19 COLORMAP_TWILIGHT, 20 COLORMAP_TWILIGHT_SHIFTED 21}; 函数applyColorMap与参数解释如下: void cv::applyColorMap
2COLORMAP_WINTER = 3COLORMAP_RAINBOW = 4COLORMAP_OCEAN = 5COLORMAP_SUMMER = 6COLORMAP_SPRING = 7COLORMAP_COOL 伪色彩图:COLORMAP_AUTUMN = 0:?COLORMAP_BONE = 1:?COLORMAP_JET = 2:?COLORMAP_WINTER = 3:? COLORMAP_RAINBOW = 4:?COLORMAP_OCEAN = 5:?COLORMAP_SUMMER = 6:?COLORMAP_SPRING = 7:? COLORMAP_COOL = 8:?COLORMAP_HSV = 9:?COLORMAP_PINK = 10:?COLORMAP_HOT = 11:?12:? = 3,# COLORMAP_RAINBOW = 4,# COLORMAP_OCEAN = 5,# COLORMAP_SUMMER = 6,# COLORMAP_SPRING = 7,# COLORMAP_COOL
3.3 系统查找表 colormap 说明 colormap为颜色图模式,可以传入整数0~21对应各种不同的颜色图,或者用cv2.COLORMAP_AUTUMN(等价于0)、cv2.COLORMAP_BONE 1 'COLORMAP_JET', # 2 'COLORMAP_WINTER', # 3 'COLORMAP_RAINBOW', # 4 'COLORMAP_OCEAN', # 5 'COLORMAP_SUMMER', # 6 'COLORMAP_SPRING', # 7 'COLORMAP_COOL', # 8 'COLORMAP_HSV', # 9 'COLORMAP_PINK ', # 10 'COLORMAP_HOT', # 11 'COLORMAP_PARULA', # 12 'COLORMAP_MAGMA', # 13 'COLORMAP_INFERNO # 2 'COLORMAP_WINTER', # 3 'COLORMAP_RAINBOW', # 4 'COLORMAP_OCEAN', # 5 'COLORMAP_SUMMER',
= 2, COLORMAP_WINTER = 3, COLORMAP_RAINBOW = 4, COLORMAP_OCEAN = 5, COLORMAP_SUMMER = 6, COLORMAP_SPRING = 7, COLORMAP_COOL = 8, COLORMAP_HSV = 9, COLORMAP_PINK = 10, COLORMAP_HOT = 11 Demo 原图: ? COLORMAP_SUMMER = 6: ? COLORMAP_SPRING = 7: ? COLORMAP_COOL = 8: ? COLORMAP_HSV = 9: ? Code 附上自己写的实验代码: import cv2 # COLORMAP_AUTUMN = 0, # COLORMAP_BONE = 1, # COLORMAP_JET = 2, # COLORMAP_WINTER = 3, # COLORMAP_RAINBOW = 4, # COLORMAP_OCEAN = 5, # COLORMAP_SUMMER = 6, # COLORMAP_SPRING = 7, # COLORMAP_COOL
我们直接在命令窗口输入例如”colormap(hsv)” 就可以是平面图的颜色显示相应的colormap。 下面教大家如何自定义自己想要的colormap,方法十分简单。 以中国海的海面温度图为例: 这是一张有m_pcolor画出来的图,之后colormap是matlab默认的jet(即直接输入命令‘colorbar’显示的colormap)。 如果我们这是在命令窗口输入‘colormap(hsv)’,则会变成下面这张图: (请忽视图标题,截图很麻烦,见谅) 如果我们这是想定义一种新的colormap,颜色从赤,橙,白,蓝,紫依次传递的话(如下图 这就要用到matlab的colormap Editor了。 如下图:点击figrue窗口的Edit-colormap 出现colormap Editor窗口: 我们可以利用这个窗口直接设置自定义colormap。
但是ncview中的colormap太少了,尤其是缺少科学领域的colormap。 ncmaps 提供了非常便捷的方式扩充 ncview 的colormap,包括了 matplotlib,cmocean和 cmcrameri 的很多 colormap。 扩展colormap后选择界面 ncview 提供了设置/取消设置,排序colormap的方式(就是有点不太好用)。 ncmaps 提供了一种扩展 ncview 的方式,如果没有你需要的 colormap,你也可以自行扩展。 温度可视化测试效果 图中两个红色框的选项均可用于选择colormap。 就介绍到这里,感兴趣的可以去 github源查看更多信息,也可以迁移更多的colormap到ncview。 GitHub链接:https://github.com/TomLav/ncmaps
使用方法如下: val colorMap = ColorMap(...) tile.renderPng(colorMap) 那么如何定义一个ColorMap实例呢? 代码如下: val colorMap = ColorMap( Map( 3.5 -> RGB(0,255,0), 7.5 -> RGB(63,255,51), 当然ColorMap类中还定义了一个子类Options,用于定义ColorMap的一些选项。 根据瓦片自动生成ColorMap 如果为瓦片直接定义ColorMap可以得到渲染的瓦片,但是存在颜色值固定无法动态调整以及非专业人员不能得到很好的颜色对应关系的问题。 Geotrellis在ColorMap中定义了一个方法可以根据瓦片自动生成ColorMap,方法如下: val colorMap = ColorMap.fromQuantileBreaks(tile.histogram
Overview The idea behind choosing a good colormap is to find a good representation in 3D colorspace for ax in axs: ax.set_axis_off() # Save colormap list for later. We are looking for approximately equal minimum values at opposite ends of the colormap. The often-used jet colormap is included in this set of colormaps. and convert the colormap in # CAM02-UCS colorspace.
(n) === Color.WHITE){ deepVisit(n, colorMap, cb); } }); colorMap.set vertex.includes(startVertex)) return; const colorMap = this.initColor(); for(let i = 0;i < deepVisit(vertex[i], colorMap, callback); } } } 寻找最短路径 假设你要去旅游,从 A 地前往 B 地, function deepVisit(now: T, colorMap: Map<T, Color>, cb: (node: T) => any){ colorMap.set deepVisit(vertex, colorMap, cb); } }); colorMap.set
void *r) { ParamColorMap *p = (ParamColorMap*)r; Mat dst; p->iColormap= x; if (x == COLORMAP_COOL img, dst, lutRND); } else applyColorMap(p->img,dst,p->iColormap); putText(dst, "Colormap FONT_HERSHEY_SIMPLEX, 0.8, Scalar(255, 255, 255),2); imshow(winName, dst); } 秋天 createTrackbar("colormap ", winName,&p.iColormap,1,TrackColorMap,(void*)&p); setTrackbarMin("colormap", winName, COLORMAP_AUTUMN ); setTrackbarMax("colormap", winName, COLORMAP_COOL+1); setTrackbarPos("colormap", winName,
文章目录 一、imagesc 缩放颜色显示图像 1、imagesc 函数 2、代码示例 二、Colormaps 颜色图 1、colormap 颜色图简介 2、设置不同的颜色图 一、imagesc 缩放颜色显示图像 z 轴的颜色值 % 可以看到最小值 ~ 最大值 对应的颜色区间 colorbar; 执行结果 : 图形 1 : 图形 2 : 完整效果 : 二、Colormaps 颜色图 ---- 1、colormap 颜色图简介 colormap 参考文档 : https://ww2.mathworks.cn/help/matlab/ref/colormap.html matlab 中的颜色图 : 使用颜色图 : ([Name]) % 使用暖色 colormap(hot) 2、设置不同的颜色图 % 生成 x , y 矩阵 , [x, y] = meshgrid(-3 : .2 : 3 , -3 : .2 : (cool); % 改变 z 值对应的颜色值 % 灰度颜色 colormap(gray); 执行结果 : 第一张图是 3D 坐标图 , 第 2,3,4 分别是 暖色 , 冷色 , 灰度颜色图 ;
类型定义都是从 CPF 和 Avalonia 里面拷贝的,可以从本文末尾找到所有的代码的下载方法 完成 XColor 创建之后,再需要使用 XCreateColormap 创建颜色映射表,代码如下 var colormap = colormap, border_pixel = 0, background_pixel = color.pixel, }; 如此执行创建窗口时,即可使用所配置的颜色。 //| SetWindowValuemask.OverrideRedirect ; var colormap = XCreateColormap(display, rootWindow flags = (byte)(ColorFlags.DoRed | ColorFlags.DoGreen | ColorFlags.DoBlue), }; XAllocColor(display, colormap = colormap, border_pixel = 0, background_pixel = color.pixel, }; var width = 500; var height
char signature[3]; char version[3]; int width; int height; char colormap = %p\n", &(dsptr->width)); printf("&&(dsptr->height) = %p\n", &(dsptr->height)); printf("&(dsptr->colormap ) = %p\n", &(dsptr->colormap)); printf("&(dsptr->bgcolor) = %p\n", &(dsptr->bgcolor)); printf("&(dsptr "Offset of height = %d\n", (char*)&(dsptr->height) - &(dsptr->signature[0])); printf("Offset of colormap = %d\n", &(dsptr->colormap) - &(dsptr->signature[0])); printf("Offset of bgcolor = %d\n",&(dsptr
char signature[3]; char version[3]; int width; int height; char colormap = %p\n", &(dsptr->width)); printf("&(dsptr->height) = %p\n", &(dsptr->height)); printf("&(dsptr->colormap ) = %p\n", &(dsptr->colormap)); printf("&(dsptr->bgcolor) = %p\n", &(dsptr->bgcolor)); printf("&(dsptr "Offset of height = %d\n", (char*)&(dsptr->height) - &(dsptr->signature[0])); printf("Offset of colormap = %d\n", &(dsptr->colormap) - &(dsptr->signature[0])); printf("Offset of bgcolor = %d\n",&(dsptr