《Python人脸识别:从入门到工程实践》 ——3.2 颜色模型

举报
华章计算机 发表于 2020/02/20 18:04:19 2020/02/20
【摘要】 本节书摘来自华章计算机《Python人脸识别:从入门到工程实践》 —— 书中第3章,第3.2.1节,作者是王天庆 。

3.2 颜色模型

我们看到的图像数据是以二维的形式展现的,这些图片有的是缤纷多彩、富有表现力的彩***片,也有的是表现得沉郁顿挫的黑白风格,甚至有的图片只有纯黑和纯白两种颜色。诸如此类,都是图片的不同表现形式,我们将在本节具体了解一下它们的区别。

3.2.1 彩***像

下面,我们将介绍两种最为常用的颜色模型,分别是RGB颜色模型和HSV颜色模型。RGB颜色模型是在几何形态上呈现立方体结构,与硬件实现关联紧密。HSV颜色模型在几何形态上呈现椎体结构,更偏向于视觉上直观的感觉。

1.RGB颜色模型

RGB颜色模型应该是我们在平时生活中接触最多的一种颜色模型,也就是我们通常说的红、绿、蓝三原色模型。

RGB颜色模型是将红、绿、蓝3种不同颜色,根据亮度配比的不同进行混合,从而表现出不同的颜色。由于在实现上使用了3种颜色的定量配比,因此该模型也被称为加色混色模型。通过3种最基本颜色的混合叠加来表现出任意的一种颜色的方法, 图3-1 RGB颜色模型的空间结构特别适用于显示器等主动发光的显示设备。值得一提的是,RGB颜色的展现依赖于设备的颜色空间,不同设备对RGB颜色值的检测不尽相同,表现出来的结果也存在差异。这也就使得我们感觉有些手机屏幕颜色特别逼真、绚丽,而另一些就难以令人满意。如图3-1所示展现了RGB颜色模型的空间结构,这是一个立方体结构,在该几何空间中,3个坐标轴分别代表了3种颜色。那么,从理论上讲,任何一种颜色都包含在该立方体结构中。

接触过Web前端开发的读者可能会对RGB颜色模型有一些了解,例如#FFFFFF代表纯白色,#FF0000代表正红色。这是采用十六进制对24比特展示模式的一种表示方法。开始的两个十六进制数字位表示红色,中间的两位表示绿色,最后的两位表示蓝色,每一种颜色采用8比特来表示,3种颜色共计占用24比特。

我们平时用得最多的RGB颜色展示模式也就是24比特展示的。这种方法分别将红、绿、蓝3种颜色使用8比特无符号整数来表示。8比特无符号整数表示的范围就是0~(28-1),也就是\[0,255\]的整数区间。例如,使用一个元组来表示正红色,元组中元素的顺序为红、绿、蓝,则正红色可以表示为(255,0,0)。那么对于黄色这种颜色来讲,它是由红色和绿色两种颜色叠加产生的,所以正黄色可以表示为(255,255,0)。如果我们想要减少该种黄色的亮度该如何操作呢?只需要把红、绿两种颜色同时按比例减少就可以实现了。而如果改变它们的比例配比,则可以实现混合后的颜色向某种颜色进行偏移,例如橘黄色就会更加偏向红色一些。

2.HSV颜色模型

image.png

HSV颜色模型大家可能不是特别熟悉,这是一种采用色调(H)、饱和度(S)、明度(V)3个参数来表示颜色的一种方式。它是根据颜色的直观特征由A.R.Smith于1978年创制的一种颜色模型。 图3-2 HSV颜色模型的空间结构图3-2展示了该种颜色模型的空间结构,该结构在几何形态上呈现椎体结构。

下面分别介绍HSV模型的各个参数。

image.png

(1)色调(Hue)

以角度的形式进行度量,其取值角度范围是\[0,360\]。红色、绿色、蓝色3种颜色以逆时针方向进行排列。例如红色的位置为0°,绿色为120°,蓝色的位置为240°。

(2)饱和度(Saturation)

饱和度反映了某种颜色接近光谱色的程度。某一种颜色是由光谱颜色与白色光的混合结果,如果某种颜色中白色的成分越少,则该种颜色越接近光谱色,表现出来的效果就是该种颜色暗且鲜艳,此时饱和度更高。反之,对于低饱和度的颜色来讲,该颜色中包含的白色成分越多,颜色越趋向白色,艳丽程度则下降。

也就是说,饱和度反映了某种颜色中白色的成分,可以用百分比0~100%来表示,该数值越高,饱和度越高,光谱颜色的成分越多。

(3)明度(Value)

明度表现了某种颜色的明亮程度,可以认为是一种由光线强弱产生的视觉体验。我们看到的颜色越明亮则明度值越高,反之则越低。例如,深紫色和桃红色两种颜色进行对比,深紫色的颜色更加晦暗,而桃红色更加明亮,则认为桃红色的明度要比深紫色的高。同样,我们也可以使用百分比的形式来表示某种颜色的明度。

这两种模型之间是可以通过数学公式进行相互转换的。通过学习这两种颜色模型,我们可以学习到计算机视觉中的基本概念,以及颜色表现的基本原理,为我们后面的学习做好铺垫。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。