Bootstrap

数字图像处理色彩模型(RGB、YUV、HSV)

一、颜色的数字化

        颜色是通过眼、脑和我们的生活经验所产生的对光的视觉感受,我们肉眼所见到的光线,是由波长范围很窄的电磁波产生的,不同波长的电磁波表现为不同的颜色,对色彩的辨认是肉眼受到电磁波辐射能刺激后所引起的视觉神经感觉。  

        在图像处理中,RGB色彩空间模型是最基本的,它是一种基于笛卡尔坐标系的一种色彩表示模型。在RGB色彩空间模型中,使用红(R)、绿(G)、蓝(B)三个颜色分量进行线性叠加来表示各种颜色,每个分量的范围是0%~100%。物理上,每种颜色都有自己的光谱,但通过R、G、B混合可以形成各种色光。

       RGB模型表示的图像由3个分量图像组成,每种原色一幅分量图像。当送入RGB监视器时,这3幅图像在屏幕上混合生成一幅合成的彩色图像。 在计算机中,通常使用1字节来表示R、G、B颜色分量,每个分量的值为0~255;对于一个24位深的RGB图像中,可表示的颜色总数有(2^8)^3,即2^24种。

二、常见色彩模型

        色彩模型就是描述用一组数值来描述颜色的数学模型。通常颜色模型分为两类:设备相关和设备无关。

        与设备无关的颜色模型:这类颜色模型是基于人眼对色彩感知的度量建立的数学模型,例如CIE-RGB、CIE-XYZ颜色模型。

       与 设备相关的颜色模型:以常见的RGB模型为例,一组确定的RGB数值,在一个液晶屏上显示,最终会作用到三色LED的电压上。这样一组值在不同设备上解释时,得到的颜色可能并不相同。常见的设备相关模型有:RGB、CMYK、YUV、HSL、HSB(HSV)、YCbCr等。

2.1 RGB模型

        RGB三原色起源于1809年Thomas Young提出的视觉三原色学说,随后Helmholtz在1824年也提出了三原色学说:即视网膜存在三种视锥细胞,分别含有对红、绿、蓝三种光线敏感的视色素,当一定波长的光线作用于视网膜时,以一定的比例使三种视锥细胞分别产生不同程度的兴奋,这样的信息传至大脑中枢,就产生某一种颜色的感觉。

        

        在显示器发明之后,从黑白显示器发展到彩色显示器,人们开始使用发出不同颜色的光的荧光粉(CRT,等离子体显示器)、不同颜色的滤色片(LCD)、或者不同颜色的半导体发光器件(OLED和LED)来形成色彩,无一例外选择了Red、Green、Blue这3种颜色的发光体作为基本的发光单元,通过控制它们的发光强度组合出了人眼睛能够感受到的大多数的自然色彩。

        RGB颜色空间最大的优点就是直观、容易理解。缺点是R、G、B这3个分量是高度相关的,如果某一个分量发生了一定程度的改变,那么形成的颜色很可能要发生改变;但人眼对于常见的红绿蓝三色的敏感程度是不一样的,因此RGB颜色空间的均匀性非常差,且两种颜色之间的知觉差异色差不能表示为该颜色空间中两点间的距离,但是利用线性或非线性变换,则可以从RGB颜色空间推导出其他的颜色特征空间。

2.2 YUV模型

        YUV是编译True-Color颜色空间的一种,YUV、YCbCr、YPbPr等都可以称为YUV,彼此有重叠。YUV色彩模型来源于RGB模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。其中,“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

        为了使用人的视角特性以降低数据量,通常把RGB空间表示的彩色图像变换到其他彩色空间。目前采用的彩色空间变换有三种:YIQ, YUV和YCrCb。   同时,由于人眼对色度的敏感程度要低于对亮度的敏感程度,在使用YUV的时候,保证Y分量的前提下,可以舍弃一部分UV分量,来减少对存储带宽的需求,也并不会对图像的质量有太大影响。每一种彩色空间都产生一种亮度分量信号和两种色度分量信号,而每一种变换使用的参数都是为了适应某种类型的显示设备。其中,YIQ适用于NTSC彩色电视制式,YUV适用于PAL和SECAM彩色电视制式,而YCrCb适用于计算机用的显示器。

2.3 HSV模型

        和RGB色彩空间相比,在图像处理中使用较多的是HSV色彩空间,它比RGB更接近人们对彩色的感知经验。能够非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。HSV是由A. R. Smith在1978年创建的一种颜色空间模型,也称六角锥体模型。在HSV模型中表示颜色的参数分别是:色度(Hue)、饱和度(Saturation)、亮度(Value)。在RGB色彩模型中,一个颜色需要有R、G、B三个值共同决定,在HSV色彩模型中,则只需要H即可。

        

        色度H:用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。

        饱和度S:表示颜色接近光谱色的程度。饱和度越高说明颜色越深、越接近光谱色;饱和度越低说明颜色越浅、越接近白色;取值范围为0.0~1.0,,取值越大说明颜色越深。

        亮度V:表示颜色明亮的程度,取值范围为0.0(黑色)~1.0(白色),取值越大表明颜色越明亮。        

        在色度(H)一定的情况下,饱和度(S)越小相当于往光谱色中添加白色,光谱色所占的比例减小,导致颜色越倾向于白色。亮度(V)越小相当于往光谱色中添加黑色,光谱色所占的比例减小,导致颜色倾向于黑色。

;