颜色图的大小(灰色)

Size of colormap(gray)

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

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

  a         64x3              1536  double  

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

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

一般来说 colormap 现在对灰度级进行了特殊处理。
colormap 是一种 "Look Up Table" 映射 "index" 到 RGB 三元组(灰度三元组表示 R=G=B)。
256 个值足以满足所有可能的灰度级别,但要覆盖所有 RGB 级别(假设每个颜色通道有一个字节),您需要:256^3 = 16777216 个值。

默认的 64 个值应用 256 个灰度级中的 64 个样本(样本之间有量化 "gaps")。

示例:

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) 的相同原则...