【发布时间】:2011-11-29 21:25:39
【问题描述】:
以上两种白色表示有什么区别?我有点迷茫,它们是怎么用的?
【问题讨论】:
以上两种白色表示有什么区别?我有点迷茫,它们是怎么用的?
【问题讨论】:
这两种白色表示是指 RGB 颜色模型,其中红光、绿光和蓝光相加在一起(加色模型)以产生所需的颜色。
三种基本光中的每一种通常都用一个 8 位整数编码,因此范围从 0 到 255(0 表示完全没有这种光)。
在 Matlab 中,这些代码通常被 255 归一化,并且在 0 和 1 之间浮动。请注意,当您使用 imread 示例打开图像时,情况并非如此,因此您必须小心并参考文档的相关部分。
示例:如果您想使用 RGB 代码为绘图指定特定颜色,您可以使用 plot(data,'color',[0 1 1]);。这会用青色(绿色+蓝色)绘制您的数据。
有关在 Matlab 中指定颜色的其他方法,请参阅Matlab color specification。
【讨论】:
两个等价的表示是
uint8([255 255 255])
和
double([1 1 1])
这些只是整数和浮点表示。请注意,uint8([1 1 1]) 将(几乎)为黑色,double([255 255 255]) 通常会导致错误。
请注意,整数版本通常只允许图像处理函数使用,例如imread、imwrite 和image。其他所有内容都需要浮点表示。
【讨论】: