问题描述
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)。
- 色调H
- 饱和度S
- 明度V
HSV模型可以看作是以RGB模型白色顶点(1,1,1)向黑色顶点(0,0,0)看过去形成了一个六边形,六边形边界表示H(色彩) ,水平轴表示纯度,明度沿垂直轴测量.
图2. 1HSV颜色空间
解决方案
3 二者相互转换公式
图3. 1RGB到HSV
图3. 2HSV到RGB
结语
在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解。而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深浅如何、明暗如何。