在计算机视觉中,处理的图像或视频大多是彩色的,因此不可避免的需要和色彩模型打交道。本篇介绍一些常见的色彩模型。

色彩空间

色彩空间(Color Space)是对色彩的组织方式。色彩空间由色彩模型和色域共同定义。例如色彩空间ProPhoto RGB、Adobe RGB 和 sRGB 都基于 RGB 颜色模型。定义色彩空间时,通常使用 CIELAB 或者 CIEXYZ 色彩空间作为参考标准。这两个色彩空间在设计时便要求包含普通人眼可见的所有颜色。由于“色彩空间”有着固定的色彩模型和映射函数组合,非正式场合下,这一词汇也被用来指代色彩模型。尽管固定的色彩空间有固定的色彩模型相对应,这样的用法严格意义上是错误的。

CIE 1931 XYZ色彩空间是第一次基于人眼对于色彩感知度量建立色彩空间的尝试,它是几乎所有其它色彩空间的基础,CIE色彩空间的变体有:

  • CIELUV 色彩空间 - 修改来更加方便的显示颜色差异,替代;

  • CIE 1964 U × V × W × 统一色彩空间;

  • CIELAB 色彩空间。

注意:Lab 是一种颜色数据概念模型,和硬件无关,是一种数据算法,用于转换不同设备之间的颜色信息。需要基于不同设备的 ICC 色彩特性文件(存储设备色彩空间信息,说明设备产生的颜色属于哪个色彩空间),Lab 算法读取设备的 ICC 色彩文件,然后准确进行不同设备之间的颜色信息转换。

每个设备(相机、显示器、打印机)都有自己不同的色域,即自己硬件条件所能产生的颜色范围。显示器的 ProPhoto RGB、Adobe RGB、sRGB 等色彩空间的色域依次递减。打印机的色彩空间有 US web coated 和 Japan color 2002 coated 等。

色域

色域(Color Gamut)是颜色的子集合。即某个色彩空间能表示的颜色种类的集合。如 24 位 RGB 模型的色彩空间可以表现 256 $\times$ 256 $\times$ 256 $\approx$ 16770000 中颜色。

互补色(Complementary Colour)表示当两种颜色组合时能够互相抵消,呈现出灰阶色彩,如白色或黑色。一种现象是互补色的颜色放在相邻位置时,会产生强烈对比度。

色彩模型

色彩模型(Color Model)是硬件设备产生颜色的基础原理。显示器、相机、投影仪使用 RGB 色彩模型,而打印机使用 CMYK 色彩模型。色彩模型是一种抽象的数学模型,用一组数值来来表示颜色,通常是一个三元组、四元组或者颜色分量。

常见的色彩模型有如下 5 类:

  1. HSB/HSV

  2. RGB

  3. CMYK

  4. HSL

HSB/HSV

HSB/HSV 色彩模型是一种最接近人类直觉的色彩模型,H 表示色相(Hue)、S 表示饱和度(Saturation)、B 表示明度(Brightness)(V 表示明度(Value))

HSB/HSV 是艺术家们常用的,因为与加法减法混色的术语相比,使用色相、饱和度等概念描述色彩更自然直观。HSB/HSV 是 RGB 色彩空间的一种变形,它的内容和色彩尺度与RGB色彩空间有密切联系。

RGB

RGB 色彩模型是显示器等常用的一种颜色模型。R 表示红色(Red)、G 表示绿色(Green)、B 表示蓝色(Blue)。通过线性组合来表示颜色。在单色中,人眼对红色最不敏感,蓝色最敏感,所以 RGB 色彩模型均匀性较差。常适合于显示系统,显示效果与材料相关。

RGB 色彩模型表示发光体颜色模型。RGB 颜色信息分为三个通道,但是相同的三个通道中也包含亮度信息。

在 OpenCV 中,读取图像后获得的通道顺序是 B,G,R。这是历史遗留问题。

RGB采用加法混色法,因为它是描述各种“光”通过何种比例来产生颜色。光线从暗黑开始不断叠加 产生颜色。RGB描述的是红绿蓝三色光的数值。RGBA是在RGB上增加阿尔法通道实现透明效果。

注意:美术专业中定义的三原色为红(Red)、黄(Yellow)、蓝(Blue)。

CMYK

CMYK 色彩模型是打印机等常用的一种颜色模型。C 表示青色(Cyan)、M 表示洋红(Magenta)、Y 表示黄色(Yellow)、K 表示黑色(区别 RGB 中 Blue,这边不采用 Black 的 B,使用 K 表示黑色)。黑色可以使用其他颜色混合得到,但比较耗颜料,因此直接提供黑色颜料。

CMYK 色彩模型表示反射体的颜色模型。

颜色 C,M,Y 分别是 R,G,B 三种颜色的补色,即灰色 - RGB = CMY。C 表示只吸收红色,反射其他所有颜色;M 表示只吸收绿色,反射其他颜色;B 表示只吸收蓝色,反射其他颜色。

CMYK印刷过程中使用减法混色法,因为它描述的是需要使用何种油墨,通过光的反射显示出颜色。它是在一种白色介质(画板,页面等)上使用油墨来体现图像。

HSL

HSL(色相:Hue、饱和度:Saturation、亮度:Lightness/Luminance),也称 HLS 或 HSI(I 指 Intensity)与 HSV 非常相似,仅用亮度(Lightness)替代了明度(Brightness)。二者区别在于,一种纯色的明度等于白色的明度,而纯色的亮度等于中度灰的亮度。

参考文献

  1. 三分钟带你快速学习RGB、HSV和HSL颜色空间

  2. 数字图像处理之6大颜色空间

  3. 色彩空间与色彩模型的本质区别是什么?

  4. ColorSpace颜色空间简介_风翼冰舟的博客-CSDN博客_颜色空间