主要内容

rgb2xyz

转换RGB到CIE 1931 XYZ

描述

XYZ= rgb2xyz (RGB将sRGB图像的红、绿、蓝值转换为CIE 1931 XYZ值(2°观察者)。

例子

XYZ= rgb2xyz (RGB名称,值使用一个或多个名称-值对参数指定其他转换选项,例如RGB图像的颜色空间。

例子

全部折叠

转换图像和颜色值从RGB到CIE 1931 XYZ颜色空间。

转换RGB图像到XYZ

将RGB图像读取到工作区中。

RGB = imread (“peppers.png”);

将图像转换为XYZ颜色空间。

XYZ = rgb2xyz (RGB);

显示原始图像旁边的新图像。

图imshowpair (RGB, XYZ,“蒙太奇”);标题(“图像在RGB颜色空间(左)和XYZ颜色空间(右)”);

图中包含一个轴对象。在RGB颜色空间(左)和XYZ颜色空间(右)中带有标题Image的轴对象包含一个类型为Image的对象。

转换RGB颜色值为XYZ

将白色的值从RGB转换为XYZ颜色空间。在RGB中,白色由向量[1 1 1]表示。

rgb2xyz ((1 1 1))
ans =1×30.9505 1.0000 1.0888

转换RGB颜色到XYZ使用D50作为参考白色

XYZ_D50 = rgb2xyz (RGB,“WhitePoint”“d50”);

显示第一个输出XYZ图像旁边的XYZ图像与D50作为参考白色。

图imshowpair (XYZ_D50 XYZ,“蒙太奇”);标题(“XYZ图片,没有(左)和有(右)参考白色”);

图中包含一个轴对象。标题为XYZ Image、Without (Left)和with (Right) Reference White的axes对象包含一个Image类型的对象。

转换Adobe RGB(1998)颜色到XYZ

XYZ_Adobe = rgb2xyz (RGB,“色彩”“adobe rgb - 1998”);

显示从默认RGB和Adobe RGB(1998)颜色空间生成的XYZ图像。

图imshowpair (XYZ_Adobe XYZ,“蒙太奇”);标题([“XYZ图像,从默认RGB(左)和Adobe RGB开始”...“(右)颜色空间”]);

图中包含一个轴对象。标题为XYZ Image的轴对象,从默认RGB(左)和Adobe RGB(右)颜色空间开始包含一个类型为Image的对象。

输入参数

全部折叠

要转换的RGB颜色值,指定为这些格式之一的数字数组。

  • c3 colormap。每一行指定一个RGB颜色值。

  • ——- - - - - -n3图片

  • ——- - - - - -n-by-3-by -p堆栈的图片

数据类型:||uint8|uint16

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:rgb2xyz([。2。3。4),“WhitePoint”、“d50”)

颜色空间的输入RGB值,由指定的逗号分隔对组成“色彩”其中一个“srgb”“adobe rgb - 1998”,或“linear-rgb”.如果您指定“linear-rgb”,然后rgb2xyz假设输入RGB值是线性化的sRGB值。

数据类型:字符

参考白点,指定为逗号分隔对组成“WhitePoint”和表中列出的1 × 3矢量或CIE标准光源之一。

价值 白色的点
“一个”

CIE标准光源A、(1.0985, 1.0000, 0.3558).模拟典型的家用钨丝照明,相关色温为2856 K。

“c” CIE标准光源C、(0.9807, 1.0000, 1.1822).模拟平均或北方天空日光与相关色温6774k。CIE弃用。
“e” 相等的能量散热器,(1.000, 1.000, 1.000).可作为理论参考。
“d50” CIE标准光源D50、(0.9642, 1.0000, 0.8251).模拟日出或日落时的温暖日光,相关色温为5003 K。也被称为地平线上的光

“d55”

CIE标准光源D55、(0.9568, 1.0000, 0.9214).模拟上午中期或下午中期的日光,相关色温为5500 K。

“d65” CIE标准光源D65、(0.9504, 1.0000, 1.0888).模拟正午日光与相关色温6504 K。
“国际” ICC型材连接空间(PCS)光源。近似的(0.9642, 1.000, 0.8249)使用带有16个小数位的定点、带符号的32位数字。实际值:(31595、32768、27030)/ 32768

数据类型:||字符

输出参数

全部折叠

转换后的XYZ颜色值,作为与输入大小相同的数字数组返回。输出类型是class除非输入类型为,在这种情况下,输出类型也是

提示

  • 如果你指定输入RGB颜色空间为“linear-rgb”,然后rgb2xyz假设输入值是线性化的sRGB值。如果相反,你想要输入的颜色空间线性化Adobe RGB(1998),那么你可以使用lin2rgb函数。

    例如,转换线性化的Adobe RGB(1998)图像RGBlinadobe到CIE 1931 XYZ颜色空间,执行两步转换:

    RGBadobe = lin2rgb (RGBlinadobe,“色彩”“adobe rgb - 1998”);XYZ = rgb2xyz (RGBadobe,“色彩”“adobe rgb - 1998”);
介绍了R2014b