OpenCV-8RGB和BGR颜色空间

一. 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的水平采样,垂直完全采样

相关推荐

  1. HTML中RGB颜色表示法RGBA颜色表示法

    2023-12-20 04:08:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-20 04:08:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-20 04:08:01       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-20 04:08:01       78 阅读
  4. Python语言-面向对象

    2023-12-20 04:08:01       88 阅读

热门阅读

  1. 【周志华机器学习】学习笔记一:绪论

    2023-12-20 04:08:01       47 阅读
  2. Debian系统设置SSH密钥登陆

    2023-12-20 04:08:01       59 阅读
  3. 本地声明式缓存

    2023-12-20 04:08:01       52 阅读
  4. 职场记5:勇闯深圳,追梦职场

    2023-12-20 04:08:01       71 阅读
  5. vue下载文件流,文档打开只有[object Blob](排错)

    2023-12-20 04:08:01       67 阅读
  6. SAP ABAP EXCEL 下载模板并导入

    2023-12-20 04:08:01       65 阅读
  7. MeterSphere 和 Yapi 接口测试功能对比

    2023-12-20 04:08:01       49 阅读
  8. 错排公式的推导和应用

    2023-12-20 04:08:01       108 阅读