一般彩色图像至少需要三个维度的信息,比如RGB、HSV等等。而彩色模型又分为,面向硬设备的彩色模型和面向视觉感知的彩色模型。
面向硬设备的彩色模型(适合在输出显示场合使用):
RGB彩色模型;
CMY彩色模型;
I1,I2,I3模型;
归一化颜色模型;
彩色电视颜色模型。
面向视觉感知的彩色模型(人类颜色视觉感知比较接近):
HSV彩色模型;
HSB彩色模型;
Lab模型。

  1. RGB
    指每一种颜色都是有红绿蓝三个分量表示的,即由三幅分别表示红、绿、蓝亮度的灰度图像所表示而成的。
    R、G、B三种颜色的色彩数值从 0—255, 共256极。256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。0 表示色彩强度最弱的状态,呈黑色;255表示色彩强度最强的状态,呈最饱和色。当R=G=B=0时,呈黑色;当R=G=B=255时,呈白色。
    记录及显示彩色图像时,RGB是最常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,许多电子电器厂商普遍采用的做法是,将RGB转换成YUV颜色空间,以维持兼容,再根据需要换回RGB格式,以便在电脑显示器上显示彩色图形。
  2. HSV(Hue、Saturation、Value)
    以色调、饱和度和亮度三种基本特征量来感知颜色,反映了人的视觉系统感知彩色的方式。

    色调H用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°
    饱和度S取值范围为0.0~1.0,值越大,颜色越饱和。
    亮度V通常用百分比度量,从0%(黑)到100%(白)。
    HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到淡蓝色,V=1 S=0.4 H=240度。
    一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。
  3. 彩色变灰度
    每种颜色相当于一个三维向量,不同的表示法则相当于同一个向量在不同的坐标轴下(即不同的基下)的表示。而将其变为灰度后,只剩下一个维度,相当于将三维向量投影为一维标量一样,是不可能回复为原来的向量的。要想恢复,就必须储存另外两个维度的信息,合在一起还是三维向量,这还不如直接保存原来的彩色图像数据。如果你一定要将其分解为灰度基和另两个基下的表示,可以用YIQ表示,他的Y分量就和灰度数据等价,美国电视信号NTSC就是YIQ表示的,因此可以和黑白电视兼容(黑白电视只能接受Y信号,得到灰度图像)。
    当然,这种分解是不唯一的,只要保证三个基互不相关即可。因此我们可以自己定义分解方法。比如,我们要将RGB表示转换为RGg表示,也就是用灰度分量g取代蓝色分量B,红色分量R和绿色分量G不变。我们可以从RGg计算出蓝色分量B,因为灰度g=p*R+q*G+t*B(其中p=0.2989,q=0.5870,t=0.1140),于是B=(g-p*R-q*G)/t。于是我们只要保留R和G两个颜色分量,再加上灰度图g,就可以回复原来的RGB图像。