zoukankan      html  css  js  c++  java
  • OpenCV学习(1) RGB颜色空间

    1.1彩色空间

    颜色是外来的光刺激作用于人的视觉器官而产生的主观感觉,它具有色调、饱和度和亮度三个特性。物体的颜色不仅取决于物体本身,还与光源、周围环境的颜色,以及观察者的视觉系统有关

    1.1.1颜色的基本特性

    1.光与颜色

    从根本上讲,光是人的视觉系统能够感知到的电磁波,其波长在380nm--780nm之间,正是这些电磁波使人产生了红、黄、蓝等颜色的感觉。光可由它的光谱能量分布p(λ)来表示 ,其中λ是波长,当一束光的各种波长的能量大致相等时,我们称其为白光,否则称其为彩色光。若一束光中只包含一种波长的能量,其它波长都为零时,称其为单色光。

    事实上,我们可以用主波长、纯度和明度来简洁地描述任何光谱分布的视觉效果。但是由实验结果知道,光谱与颜色的对应关系是多对一的,也就是说,具有不同光谱分布的光产生的颜色感觉是有可能一样的。我们称两种光的光谱分布不同而颜色相同的现象为“异谱同色”。由于这种现象的存在,我们必须采用其它的定义颜色的方法,使光本身与颜色一一对应。

    2.色彩的视觉心理特性

    色彩是人的眼睛对于不同频率的光线的不同感受,色彩是一种视觉感受,客观世界通过人的视觉器官形成信息,使人们对它产生认识。来自外界的一切视觉形象,如物体的形状、空间、位置以及它们的界限和区别都由色彩和明暗关系来反映。

    3.颜色的基本概念

    颜色定义为:色是光作用于人眼引起除形象以外的视觉特性。

    颜色与光的波长有关,不同波长的光呈现不同颜色。自然界中的颜色可以分为非彩色和彩色两大类。非彩色指黑色、白色和各种深浅不一的灰色,而其它所有颜色均属于彩色。

    4.颜色的基本特性

    国际照明委员会CIE(International Commission on Illumination)对颜色的描述作了一个通用的定义,用颜色的三个特性来区分颜色。这些特性是:色调(Hue)、饱和度(Saturation)和亮度(Lightness),它们是颜色所固有的并且是截然不同的特性,任一彩色光都是这三个特征的综合效果。

    (1)色调(hue)
    色调又称为色相,是当人眼看到一种或多种波长的光时所产生的彩色感觉,它反映颜色的种类,是决定颜色的基本特性。色调用红、橙、黄、绿、青、蓝、靛、紫等术语来刻画。
    不透明物体的色调是指该物体在日光的照射下,所反射的各光谱成分作用于人眼的综合效果;透明物体的色调则是透过该物体的光谱综合作用的效果。
    (2)饱和度(saturation)
    饱和度是指颜色的纯度,即色彩含有某种单色光的纯净程度,它可用来区别颜色的深浅程度。对于同一色调的彩色光,饱和度越深颜色越鲜明或说越纯,例如鲜红色饱和度高,而粉红色的饱和度低。完全饱和的颜色是指没有渗入白光所呈现的颜色,例如仅由单一波长组成的光谱色就是完全饱和的颜色。
    (3)亮度(brightness)
    亮度是视觉系统对可见物体辐射或者发光多少的感知属性。亮度是光作用于人眼时所引起的明亮程度的感觉,它与被观察物体的发光强度有关。由于其强度的不同,看起来可能会亮一些或暗一些。对于同一物体,照射光越强,反射光也越强,感觉越亮;对于不同的物体在相同照射情况下,反射越强者看起来越亮。
    通常我们把色调和饱和度通称为色度。亮度是用来表示某彩色光的明亮程度,而色度则表示颜色的类别与深浅程度。

    1.1.2 三基色原理

    研究表明,人的视网膜有对红、绿、蓝颜色敏感程度不同的三种锥体细胞

    1.三色学说

    某一种波长的光可以通过三种不同波长的光混合而复现出来,且红(R)、绿(G)、蓝(B)三种单色光可以作为基本的颜色-原色,把这三种光按照不同的比例混合就能准确的复现其它任何波长的光,而它们等量混合就可以产生白光。

    近代的三色学说研究认为,人眼的视网膜中存在着三种锥体细胞,它们包含不同的色素,对光的吸收和反射特性不同,对于不同的光就有不同的颜色感觉。

    当黄光刺激眼睛时,将会引起红、绿两种锥体细胞几乎相同的反应,而只引起蓝细胞很小的反应,这三种不同锥体细胞的不同程度的兴奋程度的结果产生了黄色的感觉,这与颜色混合时,等量的红和绿加上极小量的蓝色可以复现黄色是相同。

    这三种色光既是白光分解后得到的主要色光,又是混合色光的主要成分,并且能与人眼视网膜细胞的光谱回应区间相匹配,符合人眼的视觉生理效应。

    2.色彩的形成

    我们称这种由两种以上色光相混合,呈现另一种色光的方法为色光加色法。

    加色法实质是不同能量的色光混合时,可以导致混合色光能量的变化。从色光混合的能量角度分析,色光加色法的混色方程为:

          C = α(R) + β(G) + γ(B)

    式中:C为混合色光总量;(R)、(G)、(B)为三原色的单位量;α,β,γ为三原色分量系数。

    3.补色光

    补色律:每一个色光都有一个相应的补色光,某一色光与其补色光以适当比例混合,便产生白光,最基本的互补色有三对:红-青,绿-品红,蓝-黄;

    4.亮度相加律

    亮度相加律:由几种色光混合组成的混合色的总亮度等于组成混合色的各种色光亮度的总和。这一定律叫作色光的亮度相加律。

    1.2 RGB颜色空间

    1.2.1 RGB颜色模型

    RGB(Red, Green, Blue)颜色模型通常使用于彩色阴极射线管等彩色光栅图形显示设备中,彩色光栅图形的显示器都使用R、G、B数值来驱动R、G、B电子枪发射电子,并分别激发荧光屏上的R、G、B三种颜色的荧光粉发出不同亮度的光线,并通过相加混合产生各种颜色;      扫描仪也是通过吸收原稿经反射或透射而发送来的光线中的R、G、B成分,并用它来表示原稿的颜色。

    RGB颜色模型称为与设备相关的颜色模型,RGB颜色模型所覆盖的颜色域取决于显示设备荧光点的颜色特性,是与硬件相关的。它是我们使用最多,最熟悉的颜色模型。它采用三维直角坐标系。红、绿、蓝原色是加性原色,各个原色混合在一起可以产生复合色。RGB颜色模型通常采用如图所示的单位立方体来表示。

    在正方体的主对角线上,各原色的强度相等,产生由暗到明的白色,也就是不同的灰度值。(0,0,0)为黑色,(1,1,1)为白色。正方体的其他六个角点分别为红、黄、绿、青、蓝和品红。

    1.2.2图像RGB颜色空间

    在OpenCV中RGB颜色空间被定义为BGR,只是存储的排列顺序。

    彩色图像中的每一个像素点的一个表示颜色的值就是一个三维的向量,这个向量是由RGB三基色的一个线性表出。

    图像亮度的形成:

    三色光的亮度强度各不相同,根据人的感觉是:绿光最亮,红光其次,蓝光最弱。假设得到的白光的亮度强度为100%,如果Y表示景物的亮度,则通常有Y=0.299R+0.587G+0.114B 

    平时所用的RGB的彩色图抓换为灰度图的时候,用的就是这个公式。

    灰度图其实就表示了亮度这一个概念,但是视觉上看起来的灰度图像不一定是单通道的图像,3通道的图像也可以没有色彩,只有灰度。因为RGB的取值在颜色空间立方体的主对角线上,在这条线上,视觉上只有亮度,没有色彩。

    1.2.3图像的颜色

    数字位图图像中每个像素上用于表示颜色的二进制数字位数称为图像深度(也称图像灰度、颜色深度),用n表示,那么它能描述的色彩数C=2^n 。根据颜色深度的不同,可以将图像分为以下三种模式:

    (1)黑白图像指图像的每个像素只能是黑或者白,没有中间的过渡,故又称为二值图像。二值图像的像素值为0、1,颜色深度为1。 

    (2)灰度图像灰度图像是指每个像素的信息由一个量化的灰度级来描述的图像,没有彩色信息,只有256级的明暗变化,颜色深度为8。 

    (3)彩色图像彩色图像是指每个像素的信息由RGB三原色构成的图像,其中RBG是由不同的灰度级来描述的,颜色深度为24。

  • 相关阅读:
    Leetcode 127 **
    Leetcode 145
    Leetcode 144
    Leetcode 137
    Leetcode 136
    重写nyoj2——括号匹配
    堆排序
    Leetcode 150
    【转】个人最常用的Eclipse快捷键
    Ajax编程中,经常要能动态的改变界面元素的样式
  • 原文地址:https://www.cnblogs.com/stemon/p/3831406.html
Copyright © 2011-2022 走看看