前言
个人学习笔记,图片内容取至网络。
一、RGB
由红绿蓝三原色的不同组合可以形成各种各样的颜色,人眼对颜色的识别就是这个原理。
在RGB的颜色编码下,每一个像素都是由分别依次代表“R”、“G”、“B”的三个数值组合而成,它的顺序也就是RGB的顺序。
二、BGR
BGR与RGB相比,也就是将红色的数据和蓝色的数据做一个调换。第一个数值就代表蓝色,第二个数值代表绿色,第三个数值代表红色。
三、HSV
- H(Hue)表示色相,色彩
- S(Saturation)表示饱和度,色彩的纯度。值越大,纯度越高
- V(Value)明度(明暗)
对于计算机来说,很难通过RGB直接判断颜色,而HSV只用通过Hue一个数值就可以判断颜色,所以计算机处理图像时,经常用HSV的格式。下图举例了《怪物猎人:崛起》的捏脸系统,其中颜色就是用的HSV。
四、HSL
- H(Hue)表示色相,色彩
- S(Saturation)表示饱和度,色彩的纯度。值越大,纯度越高
- L(Lightness)亮度
HSL和HSV的主要区别在于下图中顶部都是纯白色,而HSV并不是。实际中使用HSV更多。
五、YUV(YCbCr)
- Y表示亮度
- UV一起表示色度,U主要偏蓝色,V主要偏红色
是一种彩色编码系统,主要用在视频、图形处理流水线中(pipeline)。相对于 RGB 颜色空间,设计 YUV 的目的就是为了编码、传输的方便,减少带宽占用和信息出错。
人眼的视觉特点是对亮度更敏感,对位置、色彩相对来说不敏感。在视频编码系统中为了降低带宽,可以保存更多的亮度信息,保存较少的色差信息。所以YUV这种格式就经常用于采集和编码,但是最终的显示还是会转换成RGB数据,通过渲染器进行渲染。
对于一个YUV的图像来说,如果分别只输出Y,U,V三个分量的值,那效果就如下图所示: