主要内容

lin2rgb

应用gamma校正线性RGB值

描述

例子

B= lin2rgb (<一个href="//www.tatmou.com/es/es/help/images/ref/#d123e206929" class="intrnllnk">一个对图像中的线性RGB值应用gamma校正一个如此......以至于......B为sRGB色彩空间,适合显示。

例子

B= lin2rgb (<一个href="//www.tatmou.com/es/es/help/images/ref/#d123e206929" class="intrnllnk">一个,<一个href="//www.tatmou.com/es/es/help/images/ref/#namevaluepairarguments" class="intrnllnk">名称,值使用名称-值对应用伽玛校正来控制其他选项。

例子

全部折叠

定义线性值的范围。这个向量定义了257个在0到1之间等间距的点。

Lin = linspace(0,1,257);

根据sRGB标准对线性值进行gamma校正。然后根据Adobe RGB(1998)标准对线性值应用gamma校正。

sRGB = lin2rgb(lin);adobeRGB = lin2rgb(lin,“色彩”“adobe rgb - 1998”);

画出修正后的曲线。

图绘制(sRGB林,“b”、林、adobeRGB“r”)标题(“伽玛校正与线性值”)传说(“sRGB”Adobe RGB (1998)“位置”“东南”

图中包含一个轴对象。标题为Gamma-Corrected vs. Linear Values的axes对象包含2个类型为line的对象。这些对象表示sRGB, Adobe RGB(1998)。

对于另一种可视化方法,绘制颜色条表示每个颜色空间。

Cb_lin = ones(30,257) .* lin;cb_sRGB = ones(30,257) .* sRGB;cb_adobeRGB = ones(30,257) .* adobeRGB;图次要情节(3、1、1);imshow (cb_lin);标题(“线性RGB”)次要情节(3、1、2);imshow (cb_sRGB);标题(“sRGB”);次要情节(3,1,3);imshow (cb_adobeRGB);标题(Adobe RGB (1998));

图中包含3个轴对象。标题为Linear RGB的坐标轴对象1包含一个图像类型的对象。标题为sRGB的坐标轴对象2包含一个image类型的对象。标题为Adobe RGB(1998)的Axes对象3包含一个image类型的对象。

正如预期的那样,gamma校正的颜色空间比线性颜色空间更亮。

打开一个包含最小处理线性RGB强度的图像文件。

A = imread(“foosballraw.tiff”);

图像数据为校正黑色等级并缩放至16位/像素后的原始传感器数据。控件插入强度以重建颜色<一个href="//www.tatmou.com/es/es/es/help/images/ref/demosaic.html" data-docid="images_ref#bu45ckm-1" class="a">demosaic函数。彩色滤镜阵列图案为RGGB。

* * * * * * * * * * * *“rggb”);

显示图像。若要缩小图像,使其完全显示在屏幕上,请将可选的初始放大倍数设置为小于100的值。

图imshow (A_demosaiced,“InitialMagnification”、25)标题(“没有sRGB Gamma校正的传感器数据”

图中包含一个轴对象。标题为Sensor Data Without sRGB Gamma Correction的axis对象包含一个image类型的对象。

图像看起来很暗,因为它是在线性RGB颜色空间中。根据sRGB标准应用伽玛校正图像,存储双精度值。

A_sRGB = lin2rgb(A_demosaiced,“OutputType”“双”);

显示伽马校正图像,设置可选放大倍率。

图imshow (A_sRGB,“InitialMagnification”、25)标题(“传感器数据与sRGB伽马校正”);

图中包含一个轴对象。标题为Sensor Data with sRGB Gamma Correction的axis对象包含一个类型为image的对象。

正如预期的那样,伽玛校正后的图像看起来比线性图像更亮。

输入参数

全部折叠

线性RGB颜色值,以下列格式之一的数字数组指定。

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

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

  • ——- - - - - -n-by-3-by -p图像堆栈

数据类型:||uint8|uint16

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:B = lin2rgb(I,'ColorSpace','adobe-rgb-1998')应用gamma校正图像,,根据Adobe RGB(1998)标准。

输出图像的颜色空间,指定为由逗号分隔的对组成“色彩”而且“srgb”“adobe rgb - 1998”

数据类型:字符|字符串

输出RGB值的数据类型,指定为由逗号分隔的对组成“OutputType”而且“双”“单一”“uint8”,或“uint16”.缺省情况下,输出数据类型与的数据类型相同<一个href="//www.tatmou.com/es/es/help/images/ref/#d123e206929" class="intrnllnk">一个

数据类型:字符|字符串

输出参数

全部折叠

gamma校正的RGB图像,作为与输入相同大小的数值数组返回<一个href="//www.tatmou.com/es/es/help/images/ref/#d123e206929" class="intrnllnk">一个

算法

全部折叠

伽玛校正使用sRGB标准

将线性RGB三刺激值转换为sRGB三刺激值的gamma校正由以下参数曲线定义:

fu) = -f(-u),u< 0

fu) =cu, 0≤u<d

fu) =一个uɣ+bud

在哪里u用以下参数表示颜色值:

一个= 1.055

b= -0.055

c= 12.92

d= 0.0031308

ɣ= 1/2.4

Gamma校正使用Adobe RGB(1998)标准

将线性RGB三刺激值转换为Adobe RGB(1998)三刺激值的gamma校正使用了一个简单的幂函数:

vuɣu≥0

v= (-uɣu< 0

ɣ= 1/2.19921875

参考文献

[1]埃伯纳,马克。“伽马校正”。颜色恒常性.奇切斯特,西苏塞克斯:约翰·威利父子,2007年。

Adobe系统公司。“反转颜色分量传递函数。”adobergb(1998)彩色图像编码.第4.3.5.2节,2005年5月,第12页

版本历史

在R2017b中引入

另请参阅