理解色彩空间和色彩空间的转换

图像处理工具箱™软件通常表现出的颜色为红,绿,蓝(RGB)的数值。不过,也有除了RGB等车型为代表数字的颜色。各种型号被称为颜色空间因为它们中的大多数被映射到2-d,3-d,或4- d坐标系。

不同的颜色空间之所以存在,是因为它们以使某些计算更方便的方式呈现颜色信息,或者因为它们提供了一种更直观的识别颜色的方法。例如,RGB颜色空间将颜色定义为红色、绿色和蓝色混合的百分比。其他颜色模型通过它们的色调(颜色的深浅)、饱和度(灰色或纯色的数量)和亮度(强度或整体亮度)来描述颜色。

该工具箱允许通过数学转换将颜色数据从一个颜色空间转换到另一个颜色空间。

RGB

RGB颜色空间表示的图像作为一个-通过-n-by-3数字数组,其元素指定红,绿,和蓝色通道的强度值。数值的范围依赖于图像的数据类型。

  • 要么阵列,RGB值的范围从[0,1]。

  • uint8阵列,RGB值的范围从[0,255]。

  • UINT16阵列,RGB值的范围从[0,65535]。

工具箱支持RGB颜色空间金宝app的变化。

RGB色彩空间 描述
线性RGB 线性RGB值是从照相机传感器获得的原始数据。R,G,和B的值正比于光的照射该传感器的量。预处理原始图像数据,诸如白平衡,颜色平衡,和色差补偿的,被上线性RGB值来执行。
的sRGB

sRGB值应用非线性函数,称为<一个href="//www.tatmou.com/help/images/gamma-correction.html" class="a">伽马校正,到线性RGB值。图像经常显示在sRGB颜色空间,因为他们显得更明亮,颜色更容易区分。将线性RGB值转换到sRGB颜色空间的参数化曲线为:

f(u)= -f( -uu<0

f(u)=cu,0≤u<d

f(u)=一个uɣ+b,ud,

在哪里u表示R,G,或与这些参数B颜色值中的一个:

一个= 1.055

b= -0.055

c= 12.92

d= 0.0031308

ɣ= 1/2.4

Adobe RGB的(1998)

Adobe RGB的(1998)RGB值适用伽马校正使用简单的幂函数的线性RGB值:

v=uɣ,u≥0

v= (-u)ɣ,u<0,

ɣ= 1/2.19921875

HSV

在HSV(色调,饱和度,值)色彩空间更好地对应于人的经验颜色比RGB色彩空间怎么做。例如,该颜色空间是经常使用的人谁是选择的颜色,如涂料或墨水的颜色,从色轮或调色板。

属性 描述
H 色相,其对应色彩对色轮的位置。H在范围[0,1]内。作为H增加,颜色过渡从红到橙,黄,绿,青,蓝,洋红,最后又回到红。0和1表示红色。
年代 饱和度,这是从中性色调或离开的量。年代在范围[0,1]内。作为年代增加时,颜色从不饱和(灰色)到完全饱和(无白色成分)不等。
V

值,即某一特定颜色的红、绿、蓝成分的最大值。V在范围[0,1]内。作为V的增加,相应的颜色变得越来越亮。

HSV颜色空间的插图

请注意

MATLAB®和图像处理工具箱软件不支持HSI色彩空间(色调,饱和度,亮度)。金宝app但是,如果你想在色调,饱和度和强度方面与颜色数据工作中,HSV色彩空间是非常相似的。另一种选择是使用LCH颜色空间(光度,色度和色相),这是CIE的L * a * b *颜色空间的一个极坐标变换 - 见<一个href="//www.tatmou.com/help/images/device-independent-color-spaces.html" class="a">与设备无关的色彩空间。

使用<一个href="//www.tatmou.com/help/matlab/ref/rgb2hsv.html">rgb2hsv和<一个href="//www.tatmou.com/help/matlab/ref/hsv2rgb.html">hsv2rgb功能RGB和HSV色彩空间之间的转换。

CIE 1976 XYZ和CIE 1976 L * A * B *

CIE 1976 XYZ和CIE 1976 L * A * B *是设备无关色空间由国际照明委员会制定,由缩写CIE闻名。根据三种类型的视锥细胞在人眼的典型灵敏度这些色彩空间模型的颜色。

XYZ颜色空间是由CIE开发的原始模型。的Y信道代表一个颜色的亮度。的Z通道大致涉及的蓝色图像中的量,但该值ZXYZ颜色空间中的值与RGB颜色空间中的值不相同。的X频道没有清晰的颜色比拟。但是,如果您将XYZ颜色空间看作一个3-D坐标系统,那么X值沿与之正交的轴分布Y(亮度)轴和Z轴。

与XYZ模型相比,L*a*b*颜色空间提供了一个在感知上更加统一的颜色空间。颜色在L*a*b*颜色空间可以存在于RGB之外色域(RGB颜色的有效集合)。例如,当您将L*a*b*值[100,100,100]转换为RGB颜色空间时,返回值是[1.7682,0.5746,0.1940],这不是一个有效的RGB颜色。有关更多信息,请参见<一个href="//www.tatmou.com/help/images/use-color-space-conversion-to-handle-out-of-gamut-colors.html" class="a">确定如果L * A * B *值在RGB色域。

属性 描述
L * 图像的亮度或亮度。值在[0,100]范围内,其中0指定黑色,100指定白色。作为L *增大,颜色变亮。
一个* 图像中红色或绿色色调的数量。一个很大的积极的一个*值对应于红/品红。大的负一个*值对应于绿色。虽然没有单一的范围一个*,通常的值落入范围[-100,100]或[-128,127)。
b * 图像中黄色或蓝色调量。一个很大的积极的b *值对应于黄色。大的负b *值对应于蓝色。虽然没有单一的范围b *,通常的值落入范围[-100,100]或[-128,127)。

设备无关的色彩空间包括照明源的作用,被称为参考白色点。源根据光源的色温赋予色调的原始图像数据。例如,在日出或日落赋予黄色色调的图像,而太阳光周围中午赋予蓝色调阳光。

使用<一个href="//www.tatmou.com/help/images/ref/rgb2xyz.html">RGB2XYZ和<一个href="//www.tatmou.com/help/images/ref/xyz2rgb.html">xyz2rgb功能RGB和XYZ色彩空间之间的转换。使用<一个href="//www.tatmou.com/help/images/ref/rgb2lab.html">rgb2lab和<一个href="//www.tatmou.com/help/images/ref/lab2rgb.html">lab2rgb函数之间转换的RGB和L*a*b*颜色空间。

该工具箱支持更适合于一些金宝app目的,而不是XYZ几个相关的色彩空间规格。更多信息请参见<一个href="//www.tatmou.com/help/images/device-independent-color-spaces.html" class="a">与设备无关的色彩空间。

YCbCr

YCbCr色彩空间广泛用于数字视频。在这种格式中,亮度信息被存储为单个部件(Y)和色度信息被存储为两个色差分量(CbCr)。Cb和Cr分别表示基准值和蓝色或红色分量之间的差。(YUV,广泛用于数字视频的另一颜色空间,是非常相似的为YCbCr但不相同。)

属性 描述
Y 图像的亮度或亮度。颜色随着时间的推移而增加亮度Y增大。
Cb 色度值,指示蓝色组分与参考值之间的差值。
Cr 色度值,指示红色分量与参考值之间的差值。

数值的范围取决于图像的数据类型。YCbCr不使用图像数据类型的全部范围,因此视频流可以包括额外的(非图像)信息。

  • 要么数组,Y在[16/255,235/255]和CbCr在[16/255,240/255]范围内。

  • uint8数组,Y是在范围[16,235]和CbCr在范围内[16,240]。

  • UINT16,Y是在范围[4112,60395]和CbCr是在范围[4112,61680]。

使用<一个href="//www.tatmou.com/help/images/ref/rgb2ycbcr.html">rgb2ycbcr和<一个href="//www.tatmou.com/help/images/ref/ycbcr2rgb.html">ycbcr2rgb功能的RGB和YCbCr色彩空间之间的转换。

YIQ

国家电视系统委员会(NTSC)定义了一个颜色空间称为YIQ。这种颜色空间在美国的电视中使用。这个颜色空间将灰度信息从颜色数据中分离出来,因此同样的信号可以用于彩色和黑白电视机。

属性 描述
Y 亮度,即图像的亮度。值位于范围[0,1],其中0指定黑色,1指定白色。颜色随着时间的推移而增加亮度Y增大。
在相,这大约是在图像中的蓝色或橙色调量。在范围[-0.5959,0.5959],其中负数表示蓝色色调和正数表示橙色色调。由于幅度增加,颜色增加饱和度。
正交,大约是图像中绿色或紫色色调的数量。在范围[-0.5229,0.5229],其中负数表示绿色色调和正数表示紫色色调。由于幅度增加,颜色增加饱和度。

使用<一个href="//www.tatmou.com/help/images/ref/rgb2ntsc.html">rgb2ntsc和<一个href="//www.tatmou.com/help/images/ref/ntsc2rgb.html">ntsc2rgb功能RGB和YIQ色彩空间之间的转换。

因为亮度是NTSC格式的组成部分之一,所述RGB NTSC转换也用于分离图像中的灰度级信息是有用的。事实上,工具箱功能<一个href="//www.tatmou.com/help/matlab/ref/rgb2gray.html">rgb2gray和<一个href="//www.tatmou.com/help/images/ref/ind2gray.html">ind2gray使用rgb2ntsc函数从彩色图像中提取灰度信息。

相关话题