|||
一、颜色表简介
通常我们在绘制彩图是要选择颜色表,例如matlab中用imagesc函数绘制彩图时默认的颜色表为jet(蓝色......红色)。不同颜色用来代表高程、振幅等信息,可以帮助我们更直观的分析数据特征。
那么如何选择好的颜色表呢?Niccoli在文章《How to evaluate and compare color maps》(The Leading Edge,2014)中展示了通常采用的彩虹颜色表(与jet颜色表类似)是差的,容易引入假象。
二、颜色表评价
任何一种颜色都可以由RGB(红绿蓝)按比例混合构成,例如在matlab命令窗中输入"c=colormap(jet)"会得到一个64*3的数组,64表示的是jet颜色表由64个颜色组成,3表示的就是RGB的比例。
颜色的特征通常由“色彩-饱和度-亮度”表示,Niccoli指出亮度决定了我们对图像色彩的感知,因此将亮度特征作为评价颜色表的指标。任何一种颜色(RGB按比例混合组成)可以通过公式得到该颜色的亮度:
intensity=0.2989*red+0.587*green+0.114*blue
三、编程分析
matlab程序见附件。首先我们评价一下matlab中默认的jet颜色表,图1是jet颜色表的强度曲线,可以看出其强度曲线不是逐渐增加的,而是先增加后降低,黄色(横坐标40附近)的强度最大。
图1
接下来评价一下CubeHelix颜色表的强度曲线,CubeHelix颜色表是Green通过分析得到的,我们这里用'CubeHelix.m'函数来生成CubeHelix颜色表。图2是CubeHelix颜色表的强度曲线,可以看出CubeHelix颜色表的强度曲线是线性增加的。图三为jet与CubeHelix颜色表强度值的灰度值,也可以看出CubeHelix是优于jet颜色表的。
图2
图3
四、参考文献
1、Green, D. A. A colour scheme for the display of astronomical intensity images[J], Bulletin of the Astromical Society of India, 2011.
2、Niccoli Matteo. How to evaluate and compare color maps[J]. The Leading Edge, 2014.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 12:46
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社