Matlab RGB颜色表示([255 255 255]和[1 1 1])

时间:2011-10-03 12:11:44

标签: image matlab colors

上面两种白色表示有什么区别?我有点困惑,他们是如何使用的?

2 个答案:

答案 0 :(得分:5)

两个等价的表示是

uint8([255 255 255])

double([1 1 1])

这些只是整数和浮点表示。请注意,uint8([1 1 1])将(几乎)为黑色,double([255 255 255])通常会导致错误。

请注意,整数版本通常仅由图像处理函数允许,例如imreadimwriteimage。其他一切都期望浮点表示。

答案 1 :(得分:4)

这两种白色表示是指RGB颜色模型,其中红色,绿色和蓝色光被加在一起(加色模型)以产生所需的颜色。

三种基本光中的每一种通常用8位整数编码,因此其范围为0到255(0表示完全没有这种光)。

在Matlab中,这些代码通常被标准化为255并且在0和1之间浮动。请注意,当您使用imread打开图像时不是这种情况,因此您必须小心并参考到文档的相关部分。

示例:如果要为绘图指定具有RGB代码的特定颜色,可以使用plot(data,'color',[0 1 1]);。这将使用青色(绿色+蓝色)绘制数据。

有关在Matlab中指定颜色的其他方法,请参阅Matlab color specification