颜色空间模型

数字图像在内存中的存储方式


数字图像在内存中的存储就是一排排数字矩阵,如下图所示:

在这里插入图片描述

上图展示了图片中很小一个区域在内存中的存储形式,矩阵中的数值表示每个像素点强度值的大小。
OpenCv 读取图像数据并形成内存中的像素矩阵,像素矩阵的排布与图像的颜色空间和数据类型有关。OpenCv 作为一个计算机视觉库,其主要工作是处理和操作这些像素矩阵信息。
颜色空间是指针对一个给定的颜色模型,如何组合像素并对其进行编码;常见的颜色空间有灰度级空间、RGB颜色空间、HSV/HLS颜色空间、YCrCb颜色空间。数据类型决定了控制颜色的精度,常见的数据类型有无符号( 0 0 0 255 255 255 之间)的 char,有符号( − 127 -127 127 127 127 127 之间)的 char f l o a t float float型( 4 4 4 字节, 32 32 32位),double型( 8 8 8字节, 64 64 64位),其中,floatdouble 可以给出更精细的颜色分辨能力。同时增加像素的尺寸也会增加图像所占的内存空间。


RGB颜色空间模型


R G B RGB RGB 的颜色空间:该颜色空间主要用于计算机图形学中,表示每个像素具有 R 、 G 、 B R、G、B RGB 三种颜色分量,每个分量均为 [ 0 , 255 ] [0, 255] [0,255] 的大小,以三个分量为坐标轴,构建一个三维颜色空间。如下图所示。

在这里插入图片描述

由图可知: [ 0 , 0 , 0 ] [0, 0, 0] [0,0,0]:纯黑色; [ 255 , 255 , 255 ] [255, 255, 255] [255,255,255]:纯白色; [ 255 , 0 , 0 ] [255, 0, 0] [255,0,0]:纯红色; [ 0 , 255 , 0 ] [0, 255, 0] [0,255,0]:纯绿色; [ 0 , 0 , 255 ] [0, 0, 255] [0,0,255]:纯蓝色。
图片中任何一个带颜色的像素都是由RGB构成的结构[B, G, R, A](这是OpenCv的存储顺序, 不同于我们认为RGB顺序)。

在这里插入图片描述


HSV的颜色空间


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

  • 色调(H):用角度来度量,取值范围为 [ 0 ° , 360 ° ] [0°,360°] [0°360°],从红色开始按逆时针方向计算,红色为 0 ° 0° 0°,绿色为 120 ° 120° 120°,蓝色为 240 ° 240° 240°。它们的补色是:黄色为 60 ° 60° 60°,青色为 180 ° 180° 180°,品红为 300 ° 300° 300°
  • 饱和度(S):饱和度 S S S 表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果,其中光谱色所占的比例越大,颜色接近光谱色的成都越高,颜色的饱和度也就越高。饱和度越高,颜色则深而艳。光谱色的白光成分为 0 0 0,饱和度达到最高。通常取值范围为 [ 0 % , 100 % ] [0\%,100\%] [0%,100%],值越大,颜色越饱和。
  • 明度(V):明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。同城取值为 [ 0 % , 100 % ] [0\%, 100\%] [0%,100%]。与光强度没有直接的联系。

H S V HSV HSV 模型的三维表示从 R G B RGB RGB 立方体演化而来。设想从 R G B RGB RGB 沿着立方体对角线的白色顶点向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度,明度沿着垂直轴测量。

在这里插入图片描述在这里插入图片描述

H S V HSV HSV 对于用户来说是一种直观的颜色模型。例如,要得到一种彩色模型,我们先指定彩色角 H H H,并让 A = S = 1 A=S=1 A=S=1,然后我们通过向其中加入黑色和白色得到我们需要的颜色。增加黑色可以减小 V V V S S S 不变,增加白色可以减小 S S S V V V 不变。例如,要得到深蓝色, V = 0.4 , S = 1 , H = 240 V=0.4, S = 1, H = 240 V=0.4S=1H=240


HSI的颜色空间


H S I HSI HSI,也可以叫 H S L ( H u e − S a t u r a t i o n − I n t e n s i t y ( L i g h t n e s s ) ) HSL(Hue-Saturation-Intensity(Lightness)) HSL(HueSaturationIntensity(Lightness)),其类似与 H S V HSV HSV 颜色空间模型。

  • 色调(H),饱和度(S):与 H S V HSV HSV 颜色模型的概念是一样的。颜色空间任一点距离 I I I 的距离。
  • 强度(I):对应成像亮度和图像灰度,是颜色的明亮程度。这个分量可以从图片彩色信息(色调和饱和度)里消去,使得 H S I HSI HSI 模型成为开发基于彩色描述的图像处理方法的良好工具,而这种彩色描述对于人来说是自然而直观的。
    注意:当强度 I = 0 I=0 I=0 时,色调、饱和度 S S S 无定义;当 S = 0 S=0 S=0 时,色调 H H H 无定义。

在这里插入图片描述


HSV与HSI颜色空间模型的区别


H S I HSI HSI H S V HSV HSV 的颜色模型比较接近,它们用来描述颜色相对于 R G B RGB RGB 等模型显得更加的自然。
H S I HSI HSI H S V HSV HSV 中, H H H 都表示色相,该值范围为 [ 0 , 360 ] [0, 360] [0,360],色相的意义就是光的波长,不同波长的光呈现了不同的色相。 S S S 都表示饱和度,其本质为一束光可能有很多种不同波长的单色光构成,波长越多颜色越分散,而单色光构成的色彩纯净度就很高。
两种模型唯一不同的就是最后一个分量:在 H S I HSI HSI 中表示亮度 ( L i g h t n e s s / L u m i n a n c e / I n t e n s i t y ) (Lightness/Luminance/Intensity) Lightness/Luminance/Intensity H S V HSV HSV V V V 表示明度(Value/Brightness)。

在这里插入图片描述

上图中能很好的对比出 H S I HSI HSI H S V HSV HSV 的区别:在 H S I HSI HSI 中,圆柱体外围是纯色,这圈纯色为与亮度 ( L / I ) (L/I) L/I 等于 1 / 2 1/2 1/2 的部位;而在 H S V HSV HSV 中,纯色对应于明度 ( V ) (V) (V) 等于 1 1 1 的部位。
H S L HSL HSL 中,饱和度分量总是对应等价的灰度值;而在 H S V HSV HSV 中,在极大值时候,饱和度从全饱和渐变话到白色,这可以认为是反直觉的。
H S L HSL HSL 中,亮度的跨越是从黑色经过色相到白色的;而在 H S V HSV HSV 中, V V V 分量是从黑色过渡到色相 ( H ) (H) (H) 的。


RGB、HSV和HSI的转换方法


RGB–>HSV

在这里插入图片描述


HSV --> RGB

在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中的Gamma空间模型是一种颜色空间模型,用于描述计算机图形中的颜色显示和计算方式。在Gamma空间模型中,计算机图形使用的颜色值会根据人类视觉系统的特性进行调整,以更好地适应人类的视觉感知。 在Gamma空间模型中,颜色值会经过一个Gamma校正的过程。这是因为人类眼睛在感知亮度时对不同光强的变化有不同的感知能力。Gamma校正可以调整颜色值中的亮度信息,使得较暗的颜色更容易被人眼感知,而较亮的颜色则会被衰减,以便在显示设备上更好地还原真实场景中的亮度级别。 在Unity中,Gamma空间模型是默认的颜色空间模型。它的工作原理是将颜色从sRGB空间(标准的RGB颜色空间)转换到线性空间,并在渲染完毕后再将颜色转回到sRGB空间,以便正确显示。 Gamma空间模型在图形渲染中起到重要作用。由于人眼对亮度的感知非线性,使用Gamma空间模型可以使渲染的图像更加逼真和准确。而在一些特殊的情况下,使用线性空间模型可能会导致图像亮度不平衡或者颜色失真的问题。 总结起来,Unity中的Gamma空间模型是一种能够根据人类视觉系统特性进行颜色调整的模型,能够使渲染图像更加真实和准确。通过使用Gamma校正,它可以调整颜色的亮度信息,以适应人眼对亮度的感知能力。而相对于线性空间模型,在大部分情况下,Gamma空间模型能够提供更好的图像表现效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值