首页 > 解决方案 > 颜色空间如何设法表示可见颜色空间的不同大小的部分?

问题描述

我最近观看了这个关于色彩空间的 YouTube 视频(链接:https ://youtu.be/iXKvwPjCGnY )。有兴趣就查了。事实证明,不同的色彩空间可以代表可见光谱的不同“子集”。并非所有这些子集的大小都相同。我不明白这是如何实现的。只要使用相同数量的字节来表示每个像素,无论编码如何,排列都只有这么多。因此有固定数量的不同颜色。现在我不了解色彩空间。也许他们确实使用了不同数量的字节。我尝试查找它,但大多数文章都过于晦涩和行话,尤其是维基百科。也许有人可以在这里帮助我?

标签: pixelcolor-spacegamut

解决方案


您混淆了色域和位深度。色域表示可以由颜色空间表示的颜色范围。位深度表示您可以在色域内定义颜色的精度。

因此,如果色域类似于显示器的大小,那么位深度将对应于该显示器的分辨率。您可以拥有分辨率非常高的小型显示器,反之,它们不相互依赖。这也意味着,对于相同的位深度,具有更大色域的色彩空间将显示比在较小色域中看起来更远的颜色。

您可以在 Wikipedia 页面的以下图像中看到此效果,以了解颜色深度(位深度的同义词),但在这里,色域(sRGB 色域)保持不变,但位深度变低:

24 位色深4 位色深

您可以看到 4 位变体中的颜色同样丰富多彩,但与 24 位变体相比,可以表示的颜色要少得多。

如果在 2D 表面上查看,色域表示该区域,而位深度表示该区域中有多少种颜色。颜色越多,两种颜色之间的距离就越小,但同样值得注意的是,这些距离不需要是线性的,您可以根据颜色空间规格在不同的地方有更高的密度。例如,sRGB 是经过伽马压缩的,因此更接近黑色的表示颜色的密度高于接近白色的表示颜色。

还有,你说

[...] 不同的色彩空间可以代表可见光谱的不同“子集”。

这是不正确的。没有什么可以阻止颜色空间定义我们可以看到的颜色集之外的颜色。例如,在 CIELAB 色彩空间中,可能会得到一种非常红的颜色,比你看到的更红,同时又没有任何亮度。


推荐阅读