MATLAB颜色的使用

如何使用、显示、修改和如何创建用户自己的颜色映象。然后,阐述在一个 图形窗口 中仿真多个颜色映象的技术或只使用颜色映象的一部分的技术。最后,讨论照明模型并提供例子。

颜色映象理解

       MATLAB 有一个叫颜色映象 的数据结构来代表颜色值。颜色映象定义为一个有三列和若干行的矩阵。利用 0 到 1 之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个 RGB 值,即红、黄、蓝三种颜色的强度,形成一种特定的颜色。一些有代表性的 RGB 值在下表中给出。

Red(红)Green(绿)Blue(蓝)颜色
000
111
100
010绿
001
110
101洋红
011青蓝
0.6670.6671天蓝
10.50橘黄
0.500深红
0.50.50.5灰色
 

有十个 MATLAB 函数产生预定的颜色映象:

hsv色彩饱和值
hot从黑到红到黄道白
cool青蓝和洋红的色度
pink粉红的彩色度
bone带一点蓝色的灰度
jethsv的一种变形(以蓝色开始和结束)
copper线性铜色度
prim三棱镜。交替为红,橘黄,黄,绿,天蓝
flag交替为红,白,蓝,黑
grayx线性灰度
 

按缺省,上面所列的各个颜色映象产生一个 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] ’ )

    surf5

    细节请访问:Matlab颜色使用

    ### MATLAB使用 RGB 颜色绘图的方法 在 MATLAB 中,可以通过指定 RGB 三元组的方式为图形对象(如线条、散点等)设置颜色。RGB 是一种基于红 (Red)、绿 (Green) 和蓝 (Blue) 的颜色模型,每种颜色分量的取值范围是从 `0` 到 `1` 的浮点数。 以下是具体方法和示例: #### 方法说明 当调用绘图函数(如 `plot`, `scatter`, 或 `fill` 等),可以利用 `'Color'` 属性传递一个长度为 3 的向量 `[R, G, B]` 来设定颜色[^1]。例如,在绘制一条线时,可通过如下方式指定其颜色属性: ```matlab x = linspace(0, 2*pi, 100); y = sin(x); % 绘制曲线并设置颜色为深蓝色 plot(x, y, 'Color', [0, 0.4470, 0.7410]); ``` #### 自定义颜色示例 除了预设的基础颜色外,还可以自由组合 R、G、B 值来自定义更多颜色[^2]。下面展示几个例子: ```matlab figure; hold on; % 启动保持模式以便在同一张图表上画多条线 % 蓝绿色线条 plot(linspace(0, pi), cos(linspace(0, pi)), ... 'LineWidth', 2, ... % 设置线宽 'Color', [0, 0.8, 0.6]); % 定义自选颜色 % 黄橙色调填充区域 x_fill = [0, 1, 2]; y_fill = [0, 1, 0]; fill(x_fill, y_fill, [1, 0.8, 0], 'EdgeColor', 'none'); title('MATLAB 图形中的自定义颜色'); legend({'Cosine Wave','Filled Triangle'}); grid on; axis equal; ``` 以上代码片段展示了如何应用不同的 RGB 参数创建具有特定色彩效果的图像元素,并且还包含了额外样式选项比如边框去除(`'EdgeColor', 'none'`)以及网格开启(grid on)。 #### 注意事项 - 如果未提供完整的 [R,G,B] 数组,则会采用默认的颜色方案。 - 当处理多个重叠的对象时,合理安排透明度(alpha value),虽然本讨论不涉及alpha通道,但在复杂场景下可能需要用到它进一步增强视觉表现力。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值