OpenCV-8RGB和BGR颜色空间

发布时间:2023年12月19日

一. RGB和BGR

最常见的色彩空间就是RGB,人眼也是基于RGB的色彩空间去分辨颜色。

OpenCV默认使用的是BGR. BGR和RGB色彩空间的区别在于图片在色彩通道上的排列顺序不同。

二.HSV, HSL和YUV

1.HSV(HSB)

OpenCV用的最多的色彩空间是HSV.

Hue:色相,即色彩,如红色,蓝色. 用角度度量,取值范围为0°~360°,从红色开始逆时针方向计算,红色为0°,绿色为120°,蓝色为240°

Saturation:饱和度,表示颜色接近光谱色的程度。一种颜色,可以看作是某种光谱色和白色混合的结果。其中光谱色所占比例越大,颜色接近光谱色的程度就越高,颜色的饱和度也就越高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常饱和度取值为0°~100°,值越大,颜色越饱和。

Value或Brightness:明度或亮度,表示颜色的明亮程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值与物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)

底部为黑色

使用HSV的原因:方便OpenCV做图像处理,比如根据hue的值判断背景颜色.

2.HSL

HSV和HSL在字面上意思一样:

H:指的是色相,就是颜色名称,例如红色,蓝色

S:指的是饱和度,即颜色的纯度

L:Lightness和Brightness是明度,颜色的明亮程度

在原理和表现上,HSL和HSV中的H一样,但是二者的S和L不一样:

HSB中的S控制纯色中混入白色的量,值越大,白色越少,颜色越纯。(类似加入白色液体稀释)

HSB中的B控制纯色中混入黑色的量,即颜色的纯度。

HSL中的S和黑白没有关系,饱和度不控制颜色中混入黑白的多寡。(类似于加入纯净水稀释)

HSL中的L控制纯色中的混入的黑白两种颜色。

中间为灰色,上面为白色,下面为黑色。

3.YUV

YUV:是一种颜色的编码方法,常用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的宽度。

Y:表示明亮度,也就是灰阶值。

U和V表示色度,作用是描述影响色彩及饱和度,用于指定像素的颜色。

YUV的发明是由于彩色电视与黑白电视的过渡时期。

YUV最大的优点在于只需要占用极少的宽带。

共有下列四种取样格式:

4:4:4表示完全取样(带宽最多)

4:2:2表示2:1的水平采样,垂直完全采样

4:2:0表示2:1的水平采样,垂直2:1采样(最经常采用)

4:1:1表示4:1的水平采样,垂直完全采样

文章来源:https://blog.csdn.net/weixin_47702917/article/details/135023419
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。