颜色图的大小(灰色)
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)
的相同原则...
我在网上看到一张灰度图像有 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)
的相同原则...