ColorSpace颜色空间
颜色空间
也称彩色模型
(又称彩色空间
或彩色系统
),它的用途是在某些标准下用通常可接受的方式对色彩加以说明。
本质上,彩色模型是坐标系统和子空间的阐述。
位于系统的每种颜色都有单个点表示。
采用的大多数颜色模型都是面向硬件或面向应用的。
颜色空间从提出到现在已经有上百种,大部分只是局部的改变或专用于某一领域。
RGB
RGB
是通过红绿蓝三原色来描述颜色的颜色空间,R=Red
、G=Green
、B=Blue
。
基于颜色的加法混色原理,从黑色不断叠加Red,Green,Blue的颜色,最终可以得到白色光。
将R、G、B三个通道作为笛卡尔坐标系中的X、Y、Z轴,就得到了一种对于颜色的空间描述。
在计算机中编程RGB每一个分量值都用8位(bit)表示,可以产生256256256=16777216中颜色,这就是经常所说的24位真彩色
。
CMY(CMYK)
基于颜色减法混色原理的颜色模型。
HSV
HSV
颜色空间是根据颜色的直观特性由A.R.Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)
。RGB
和CMY
颜色模型都是面向硬件的,而HSV
(Hue Saturation Value)颜色模型是面向用户的。
这个模型中颜色的参数分别是:色调(H:hue),饱和度(S:saturation),亮度(V:value)。
这是根据人观察色彩的生理特征而提出的颜色模型(人的视觉系统对亮度的敏感度要强于色彩值,这也是为什么计算机视觉中通常使用灰度即亮度图像来处理的原因之一)。
色调H:用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;
饱和度S:取值范围为0.0~1.0;
亮度V:取值范围为0.0(黑色)~1.0(白色)。
HSL
与HSV
类似,把V: Value
换成L: Lightness
。HSV
可以被认为是颜色的倒圆锥体(黑色在下顶点,白色在上底面圆心)。HSL
可以被认为是一个双圆锥体和圆球体(白色在上顶点,黑色是下顶点,最大横切面的圆心是灰色)。
YUV
主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。
与RGB
视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB
要求三个独立的视频信号同时传输)。
其中:Y
表示明亮度(Luminance
或Luma
),也就是灰阶值;U
和V
表示的则是色度(Chrominance
或Chroma
),作用是描述影像色彩及饱和度,用于指定像素的颜色。
采用YUV
色彩空间的重要性是它的亮度信号Y
和色度信号U
、V
是分离的。如果只有Y
信号分量而没有U
、V
分量,那么这样表示的图像就是黑白灰度图像。
彩色电视采用YUV
空间正是为了用亮度信号Y
解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。亮度
是透过RGB
输入信号来建立的,方法是将RGB
信号的特定部分叠加到一起。色度
则定义了颜色的两个方面─色调与饱和度,分别用Cr
和Cb
来表示。其中,Cr
反映了RGB
输入信号红色部分与RGB
信号亮度值之间的差异。而Cb
反映的是RGB
输入信号蓝色部分与RGB
信号亮度值之同的差异。YCbCr
其实是YUV
经过缩放和偏移的翻版。
YUV
和RGB
相互转化公式:(RGB取值范围 0~255)
版本一
$$
\begin{cases}
\begin{align}
Y &= &0.299*R + 0.587*G + 0.114*B \\
U &= &-0.147*R - 0.289*G + 0.436*B \\
V &= &0.615*R - 0.515*G - 0.100*B
\end{align}
\end{cases}
$$
$$
\begin{cases}
R &= Y + 1.14*V \\
G &= Y + 0.39*U - 0.58*V \\
B &= Y + 2.03*U
\end{cases}
$$
版本二
$$
\begin{cases}
\begin{align}
Y &= & 0.299 &*R + & 0.587 &*G + & 0.114 &*B \\
U &= & -0.1687 &*R - & 0.3313 &*G + & 0.5 &*B + 128 \\
V &= & 0.5 &*R - & 0.4187 &*G - & 0.0813 &*B + 128
\end{align}
\end{cases}
$$
$$
\begin{cases}
R &= Y + 1.40200*(Cr - 128) \\
G &= Y - 0.34414*(Cb - 128) - 0.71414*(Cr - 128) \\
B &= Y + 1.77200*(Cb - 128)
\end{cases}
$$
参考网址
颜色空间:RGB,CMY,HSV,HSL,Lab详解
数字图像处理之6大颜色空间