色彩空间

导读:本篇文章讲解 色彩空间,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. GRAY色彩空间 灰度空间

GRAY色彩空间通常指8位灰度图,256个灰度级,像素范围[0,255]。

数值表示不同程度的灰色,像素值越低,灰色越深。0表示黑色,255表示白色。

GRAY色彩空间是单通道,常用二维数组表示一幅灰度图像。

二值图像:只有0和255两种像素值的灰度图像。

2. RGB色彩空间

人眼能够感受三种不同的颜色:红色、绿色、蓝色,即三基色。自然界常见的大部分颜色都可以通过将三基色按照一定比例混合得到。

RGB色彩空间中,存在R(Red)、G(Green)、B(Blue)三个通道,每个色彩通道值的范围是[0,255]之间。

RGB色彩空间可以表示255*255*255中颜色。

通常用一个三维数组表示一幅RGB色彩空间的彩色图像。

一般,RGB色彩空间的通道顺序是R→G→B,在OpenCV中,通道顺序是B→G→R。

RGB模型用于彩色监视器和一大类彩色视频摄像。

3. HSV色彩空间

HSV色彩空间包含三要素:

H:色调(Hue);

S:饱和度(Saturation);

V:亮度(Value);

3.1 色调(H)

色调是色彩的基本属性,就是平常所说的颜色的名称。

色调与混合光谱中的主要波长相关,不同波长的光表现为不同的颜色,实际体现的是色调的差异。

色调的取值区间为[0,360],色调取不同值,代表的颜色如下:

色调值 颜色
0 红色
60 黄色
120 绿色
180 青色
240 蓝色
300 品红色

3.2 饱和度(S)

饱和度是色彩的纯度,通俗说是颜色的深浅。

饱和度越高色彩越纯,饱和度越低,逐渐变灰。

饱和度与所加白光的数量成反比。饱和度的取值区间是[0,1],灰色的饱和度是0.如果颜色的饱和度很低,那么计算所得的色调不可靠。

OpenCV中,饱和度要映射到[0,255]范围内。

3.3 亮度(V)

亮度反应的是人眼能感受到的光的明暗程度。

掺入的白色越多,亮度越高。

亮度的取值取键是[0,1],OpenCV中映射到[0,255]范围内。

HSV颜色空间可以用一个倒圆锥体空间模型描述。圆锥体的顶点,V=0,H和S屋顶一,代表黑色;圆锥的底面中心处,V=360,H和V屋顶一,代表白色。

HSV颜色空间的应用:可以用于偏光矫正、去除阴影、图像分割等。

4. 颜色空间转换

4.1. RGB与灰度图GRAY之间互转

4.2 RGB与HSV之间互转

RGB转换为HSV,处理过程:

  1. V = max(R,G,B))
  2. H=\left\{\begin{matrix} H+\Theta & H<0 \\ H & H<0 \end{matrix}\right.
  3. 上面1,2公式计算后:

S\in \left [ 0 , 1\right ]

V\in \left [ 0 , 1\right ]

H\in \left [ 0 , \Theta \right ]

HSV转换为RGB,处理方式:

h_{i}\equiv \begin{bmatrix} h\\ 0 \end{bmatrix}(mod6)

f=\frac{h}{\Theta }-h_{i}

p=v \times (1-s)

q = v(1-f\times s)

t = v\times (1-(1-f)\times s)

文章参考:彩色空间-图像增强和滤波-CSDNOpenCV技能树

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/46144.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!