http://blog.csdn.net/t673afa/archive/2009/09/29/4617106.aspx
如何使用、显示、修改和如何创建用户自己的颜色映象。然后,阐述在一个 图形窗口 中仿真多个颜色映象的技术或只使用颜色映象的一部分的技术。最后,讨论照明模型并提供例子。
颜色映象理解
MATLAB 有一个叫颜色映象 的数据结构来代表颜色值。颜色映象定义为一个有三列和若干行的矩阵。利用 0 到 1 之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个 RGB 值,即红、黄、蓝三种颜色的强度,形成一种特定的颜色。一些有代表性的 RGB 值在下表中给出。
Red(红) Green(绿) Blue(蓝) 颜色
0 0 0 黑
1 1 1 白
1 0 0 红
0 1 0 绿
0 0 1 蓝
1 1 0 黄
1 0 1 洋红
0 1 1 青蓝
0.667 0.667 1 天蓝
1 0.5 0 橘黄
0.5 0 0 深红
0.5 0.5 0.5 灰色
有十个 MATLAB 函数产生预定的颜色映象:
hsv 色彩饱和值
hot 从黑到红到黄道白
cool 青蓝和洋红的色度
pink 粉红的彩色度
bone 带一点蓝色的灰度
jet hsv的一种变形(以蓝色开始和结束)
copper 线性铜色度
prim 三棱镜。交替为红,橘黄,黄,绿,天蓝
flag 交替为红,白,蓝,黑
gray x线性灰度
按缺省,上面所列的各个颜色映象产生一个 64 × 3 的矩阵,指定了 64 种颜色 RGB 的描述。这些函数都接受一个参量来指定所产生矩阵的行数。比如 hot(m) 产生一个 m × 3 的矩阵,它包含的 RGB 颜色值的范围从黑经过红、橘红和黄,到白。
大多数计算机在一个 8 位的硬件查色表中一次可以显示 256 种颜色,当然有些计算机的显示卡可以同时显示更多的颜色。这就意味着在不同的图中,一般一次可以用三或四个 64 × 3 的颜色映象。如果使用了更多的颜色映象输入项,计算机必须经常在它的硬件查色表中调出输入项。比如,当在画 MATLAB 图形时背景图案发生了变化,就是发生了这种情况。所以,除非计算机有一次显示更多种颜色的显示卡,最好任何一次所用的颜色映象输入项数都小于 256 。
颜色映象使用 :
语句 colormap(M ) 将矩阵 M 作为当前图形窗口所用的颜色映象。例如, colormap ( cool ) 装入了一个有 64 个输入项的 cool 颜色映象。
colormap default 装入了缺省的颜色映象( hsv ) 。
函数 plot 、 plot3 、 contour 和 contour3 不使用颜色映象,它们使用列在 plot 颜色和线形表中的颜色。而大多数其它绘图函数,比如 mesh 、 surf 、 fill 、 pcolor 和它们的各种变形函数,使用当前的颜色映象。
接受 颜色参量 的绘图函数中的 颜色参量 通常采用以下三种形式之一:
( 1 )字符串。代表 plot 颜色或线型表中的一种颜色,比如, ’ r ‘ 代表红色;
( 2 )三个输入的行向量。它代表一个单独的 RGB 值,比如 [.25 .50 .75] ;
( 3 )矩阵。如果 颜色参量 是一个矩阵,其元素作了调整,并把它们用作当前颜色映象的下标。
函数 pcolor 可以用来显示一个颜色映象。例如:
? n=32;
? colormap(hsv(n))
? pcolor([1:n+1;1:n+1] ’ )
附上出处链接:http://blog.163.com/yinhexiwen@126/blog/static/64048266201141211190442/