色图的大小(灰色)

时间:2017-01-28 07:23:38

标签: matlab grayscale colormap

我在网上看到灰度图像有256个可能的值。但是在matlab中我尝试了这个: -

>> a=colormap(gray);
>> whos a
  Name       Size            Bytes  Class     Attributes

  a         64x3              1536  double  

它显示colormap(灰色)只有64个值。为什么会这样?

1 个答案:

答案 0 :(得分:2)

颜色映射的默认长度为64个值 您可以使用a=colormap(gray(256));,或者更好地使用:a=gray(256);获取256个值。

一般来说,colormap现在已经对灰度进行了特殊处理 colormap是一种"查找表"地图"索引"到RGB三联体(灰度三联体意味着R = G = B) 对于所有可能的灰度级,256个值就足够了,但是为了覆盖所有RGB级别(假设每个颜色通道的字节数),您需要:256 ^ 3 = 16777216个值。

默认的64个值适用于256个灰度级中的64个样本(样本之间存在量化"间隙和#34;)。

示例:

gray(2)
结果:2个灰度级(0和1):
0 0 0(黑色)
1 1 1(白色)

gray(4)
结果:4个灰度级:
0 0 0(黑色)
0.3333 0.3333 0.3333(深灰色)
0.6667 0.6667 0.6667(浅灰色)
1.0000 1.0000 1.0000(白色)
如您所见,最小值为0,最大值为1,介于两者之间的级别为1/3和2/3。

gray(64)的相同原则......