我在网上看到灰度图像有256个可能的值。但是在matlab中我尝试了这个: -
>> a=colormap(gray);
>> whos a
Name Size Bytes Class Attributes
a 64x3 1536 double
它显示colormap(灰色)只有64个值。为什么会这样?
答案 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)
的相同原则......