主要内容

lin2rgb

对线性RGB值应用gamma校正

描述

例子

B= lin2rgb (<一个href="//www.tatmou.com/au/help/images/ref/#d123e204069" class="intrnllnk">一个对图像中的线性RGB值应用gamma校正一个B是在sRGB颜色空间,适合显示。

例子

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

例子

全部折叠

定义一个线性值范围。此向量定义0和1之间257个等距点。

lin=linspace(0,1257);

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

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

绘制伽马校正曲线。

图绘制(sRGB林,“b”林,阿多伯格,,“r”)头衔(“伽马校正vs.线性值”)传说(“sRGB”‘AdobeRGB(1998)’“位置”‘东南’

图中包含一个Axis对象。标题为Gamma校正vs.线性值的Axis对象包含2个line类型的对象。这些对象表示sRGB、Adobe RGB(1998)。

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

cb_lin=one(30257)。*lin;cb_sRGB=one(30257)。*sRGB;cb_adoberg=one(30257)。*adobeRGB;图形子图(3,1,1);imshow(cb_lin);标题(“线性RGB”)次要情节(3、1、2);imshow (cb_sRGB);标题(“sRGB”);次要情节(3,1,3);imshow (cb_adobeRGB);标题(‘AdobeRGB(1998)’);

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

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

打开包含最低限度处理线性RGB强度的图像文件。

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

图像数据是校正黑电平并缩放到每像素16位后的原始传感器数据。使用<一个href="//www.tatmou.com/au/au/help/images/ref/demosaic.html" class="a">反马赛克函数。滤色器阵列图案为RGGB。

A_demosaied=demosaic(A,“rggb”);

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

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

图中包含一个axes对象。具有标题传感器数据且未进行sRGB Gamma校正的axes对象包含一个image类型的对象。

由于图像位于线性RGB颜色空间,因此图像显示为黑色。根据sRGB标准对图像应用gamma校正,并以双精度存储值。

A_sRGB=lin2rgb(A_去化,“OutputType”“双”);

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

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

图中包含一个轴对象。带有sRGB伽马校正标题传感器数据的轴对象包含一个类型为图像的对象。

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

输入参数

全部折叠

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

  • c-by-3颜色映射。每行指定一个RGB颜色值。

  • -借-n3图片

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

数据类型:||uint8|uint16

名称-值参数

指定可选的逗号分隔的对名称,值论据。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值

例子:B=lin2rgb(I,“色彩空间”和“adobe-rgb-1998”)将gamma校正应用于图像,,根据Adobe RGB(1998)标准。

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

数据类型:烧焦|字符串

输出RGB值的数据类型,指定为逗号分隔对,由“OutputType”“双”“单一”“uint8”,或“uint16”。默认情况下,输出数据类型与的数据类型相同<一个href="//www.tatmou.com/au/help/images/ref/#d123e204069" class="intrnllnk">一个

数据类型:烧焦|字符串

输出参数

全部折叠

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

算法

全部折叠

使用sRGB标准进行Gamma校正

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

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

使用Adobe RGB(1998)标准的伽玛校正

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

vuɣu≥ 0

v= (-uɣu< 0

ɣ= 1/2.19921875

工具书类

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

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

另请参阅

介绍了R2017b