主要内容

lin2rgb

应用伽马校正线性RGB值

描述

例子

B= lin2rgb (<一个href="#d124e217932" class="intrnllnk">一个对图像中的线性RGB值进行伽马校正一个B为sRGB颜色空间,适合显示。

例子

B= lin2rgb (<一个href="#d124e217932" class="intrnllnk">一个,<一个href="#namevaluepairarguments" class="intrnllnk">名称,值使用名称-值参数应用gamma校正来控制其他选项。

例子

全部折叠

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

林= linspace (0, 1257);

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

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

绘制修正曲线。

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

图中包含一个axes对象。标题为Gamma-Corrected vs. Linear Values的axes对象包含两个类型为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个轴对象。轴对象1的标题线性RGB包含一个类型为image的对象。标题为sRGB的Axes对象2包含一个类型为image的对象。标题为Adobe RGB(1998)的axis对象3包含一个类型为image的对象。

正如预期的那样,伽玛校正颜色空间比线性颜色空间变得更亮。

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

一个= imread (“foosballraw.tiff”);

图像数据是经过校正黑电平和缩放到每像素16位后的原始传感器数据。插值强度来重建颜色<一个href="//www.ru-cchi.com/help/images/ref/demosaic.html" data-docid="images_ref#bu45ckm-1" class="a">demosaic函数。颜色滤镜阵列图案为RGGB。

A_demosaiced = demosaic (,“rggb”);

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

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

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

图像看起来较暗,因为它是在线性RGB颜色空间。根据sRGB标准对图像进行伽马校正,以双倍精度存储值。

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

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

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

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

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

输入参数

全部折叠

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

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

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

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

数据类型:||uint8|uint16

名称-值参数

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

例子:B = lin2rgb(我,色彩=“adobe rgb - 1998”)对图像进行伽马校正,,根据Adobe RGB(1998)标准。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:B = lin2rgb(我,“色彩”,“adobe rgb - 1998”)对图像进行伽马校正,,根据Adobe RGB(1998)标准。

输出图像的颜色空间,指定为“srgb”“adobe rgb - 1998”,或“prophoto-rgb”

数据类型:字符串|字符

输出RGB值的数据类型,指定为“替身”“单身”“uint8”,或“uint16”.默认情况下,输出数据类型与数据类型相同<一个href="#d124e217932" class="intrnllnk">一个

数据类型:字符串|字符

输出参数

全部折叠

伽玛校正RGB图像,作为与输入大小相同的数字数组返回<一个href="#d124e217932" 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校正使用了一个简单的幂函数<一个href="//www.ru-cchi.com/help/images/ref/lin2rgb.html" class="intrnllnk">[2]:

vuɣu≥0

v= (-uɣu< 0

ɣ= 1/2.19921875

使用ProPhoto (ROMM RGB)标准进行伽马校正

将线性RGB三刺激值转换为ProPhoto三刺激值的伽马校正由以下参数曲线定义<一个href="//www.ru-cchi.com/help/images/ref/lin2rgb.html" class="intrnllnk">[3]:

fu) = 0,u< 0

fu) =u/ 16日0≤u< 16 *Et

fu) =u1/1.8+b16 *Et<u< 1

fu) = 1,u≥1

Et= 1/512

参考文献

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

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

摄影和图形技术。数字图像存储、操作和交换用扩展彩色编码。第2部分:参考输出介质公制RGB彩色图像编码(ROMM RGB)<一个href="https://www.iso.org/standard/56591.html" target="_blank">https://www.iso.org/standard/56591.html

版本历史

介绍了R2017b

全部展开

另请参阅

Baidu
map