分享

计算机图形|RGB与HSV模型的转化

 算法与编程之美 2020-08-08

问题描述

1  RGB模型

RGB模型是目前常用的一种彩色信息表达方式,它使用红、绿、蓝三原色的亮度来定量表示颜色。

根据三基色原理,用基色光单位来表示光的量,则在RGB颜色空间,任意色光F都可以用R、G、B三色不同分量的相加混合而成:

F=r[R]+g[G]+b[B]

RGB颜色空间可以用一个三维的立方体来描述:

图1. 1RGB颜色空间

一般的3D编程只需要使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度。

有时候美术需要程序帮助调整饱和度来达到特定风格的渲染效果,这时候就需要转换颜色空间了。

而HSV模型正是由RGB模型转化而来.

2 HSV模型

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间. HSV色系对用户来说是一种直观的颜色模型,对于颜色,人们直观的会问“什么颜色?深浅如何?明暗如何?”,而HSV色系则直观的表示了这些信息。

这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

  1. 色调H

  1. 饱和度S

  1. 明度V

HSV模型可以看作是以RGB模型白色顶点(1,1,1)向黑色顶点(0,0,0)看过去形成了一个六边形,六边形边界表示H(色彩) ,水平轴表示纯度,明度沿垂直轴测量.

图2. 1HSV颜色空间

解决方案

3 二者相互转换公式

图3. 1RGB到HSV

图3. 2HSV到RGB

结语

在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解。而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深浅如何、明暗如何。


END

实习编辑   |   王文星

责       编   |   周茂林

 where2go 团队


微信号:算法与编程之美          

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多