在监视器可以“处理”之前,HSL是否转换为RGB?

时间:2011-11-18 06:19:27

标签: language-agnostic colors hardware

大家好,我想知道显示器的第一语言是RGB,内部一切都是RGB吗?

这是否意味着当我们为“组件”指定颜色值时,HSL总是在送入监视器之前转换为RGB,

或者反过来呢?

我知道不同的编程语言会有完全不同的实现,所以对于语言RGB可能是更好的选择,但对于另一种语言,HSL可能是更好的选择等,但这更像是一个普遍的问题,比如,在“命令”发送到监视器之前,是“rgb表示”或“hsl表示”中的值吗?

PS:想知道这是否更适合SuperUser,虽然这实际上是一个电影问题。

3 个答案:

答案 0 :(得分:2)

我拍了一张旧式液晶显示器的亚像素阵列照片,显示全白屏幕,在那里你可以看到(R)ed,(G)reen,(B)lue。 HSL是为了让人类的生活更轻松,因此它使计算机变得复杂。

enter image description here

答案 1 :(得分:1)

VGA专门使用模拟RGB信号。

DVI使用数字或模拟RGB信号。在其历史早期,模拟是相当普遍的(这是VGA设计开始支持DVI的简单方法)。除了漂亮的旧设备外,你不太可能再看到它了。

HDMI和DisplayPort支持RGB和YCbCr信号(仅限数字)。我相信大多数电脑显示卡都使用RGB。 YCbCr更有可能被DVD和BD播放器之类的东西使用(因为磁盘上的数据是用YCbCr编码的,所以它节省了一些工作量。)

答案 2 :(得分:1)

HSL是一种完全不合理的颜色格式。 HSL的“L”分量与实际灰度强度无关,实际上如果在HSL空间中旋转图像的“H”分量,您会发现它经常反转图像区域的相对强度并完全破坏了颜色和强度各不相同的渐变。

如果您正在寻找比RGB更“自然”的色彩空间,YUV(又名YCbCr)可能更符合您的喜好。 YUV颜色空间本质上是一个线性(或仿射,取决于你使用的原点)RGB的变换,其中第一个“Y”轴沿着RGB对角线(跨度为(1,1,1),即灰度)和“ Cb“和”Cr“轴是蓝色和红色方向上的垂直向量。 (然后绿色方向是Cb和Cr轴的负线性组合。)然后可以通过围绕第一(Y)轴旋转颜色矢量的第二和第三(Cb,Cr)分量来进行色调旋转,并进行饱和度调整只是缩放第二和第三个组件。

将此与显示器相关联,而显示器实际上由RGB像素组成,旧的NTSC和PAL电视信号实际上是以基于YCbCr的格式分解的,并且使用带有模拟电路的RGB来回转换。这允许Y通道未经修改地用于灰度(“黑白”)显示。