上面两种白色表示有什么区别?我有点困惑,他们是如何使用的?
答案 0 :(得分:5)
两个等价的表示是
uint8([255 255 255])
和
double([1 1 1])
这些只是整数和浮点表示。请注意,uint8([1 1 1])
将(几乎)为黑色,double([255 255 255])
通常会导致错误。
请注意,整数版本通常仅由图像处理函数允许,例如imread
,imwrite
和image
。其他一切都期望浮点表示。
答案 1 :(得分:4)
这两种白色表示是指RGB颜色模型,其中红色,绿色和蓝色光被加在一起(加色模型)以产生所需的颜色。
三种基本光中的每一种通常用8位整数编码,因此其范围为0到255(0表示完全没有这种光)。
在Matlab中,这些代码通常被标准化为255并且在0和1之间浮动。请注意,当您使用imread
打开图像时不是这种情况,因此您必须小心并参考到文档的相关部分。
示例:如果要为绘图指定具有RGB代码的特定颜色,可以使用plot(data,'color',[0 1 1]);
。这将使用青色(绿色+蓝色)绘制数据。
有关在Matlab中指定颜色的其他方法,请参阅Matlab color specification。