平滑处理灰度校正要打开吗,平滑处理灰度校正可以关吗

首页 > 上门服务 > 作者:YD1662023-12-04 13:27:27

计算机显示系统中使用的标准伽马 (γ) 值为 2.2。 主要原因是 2.2 的伽玛值大约与人类视觉的幂律灵敏度相匹配。 应该使用的确切值因人而异,还取决于照明条件和其他因素,但必须选择一个标准值,2.2 就足够了。 别太在意这个。

现在,许多文本都没有提到的一个非常重要的一点是,输入值必须在 0 到 1 范围内,并且输出也将映射到相同的范围。 由此得出一个稍微适得其反的事实:0 到 1 之间的伽玛值用于编码(压缩),大于 1 的伽玛值用于解码(展开)。 下图展示了用于编码和解码的伽玛传递函数,以及简单的线性伽玛(γ=1.0)情况:

平滑处理灰度校正要打开吗,平滑处理灰度校正可以关吗(9)

图 6:伽马传递函数 a)编码 b)线性 c)解码

到目前为止,我们只看到了灰度示例,但 RGB 图像没有什么特别之处,我们只需要使用相同的方法单独编码或解码每个颜色通道即可。

2.5 伽玛与 sRGB

sRGB 是一种色彩空间,是当今消费电子设备的事实上的标准,包括显示器、数码相机、扫描仪、打印机和手持设备。 它也是互联网上图像的标准色彩空间。

sRGB 规范定义了用于编码和解码 sRGB 图像的伽玛值(以及色域等其他内容,但这些与我们当前的讨论无关)。 sRGB gamma 非常接近标准 gamma 2.2,但它在非常暗的范围内有一个短的线性段,以避免零处的无穷大斜率(这在数值计算中更方便)。 可以在此处找到从线性到 sRGB 以及反向转换的公式。

你实际上并不需要了解所有这些更详细的细节。 需要了解的重要一点是,在 99% 的情况下,你会想要使用 sRGB 而不是普通伽玛。 原因是自 2005 年左右以来,所有显卡都具有硬件 sRGB 支持,因此大多数时候解码和编码实际上是免费的。 你的显示器的本机色彩空间很可能是 sRGB(除非它是用于图形、照片或视频工作的专业显示器),因此如果你只是将 sRGB 编码的像素数据放入帧缓冲区中,生成的图像在屏幕上看起来将是正确的(假设显示器已正确校准)。 流行的图像格式(例如 JPEG 和 PNG)可以存储色彩空间信息,但图像通常不包含此类数据,在这种情况下,几乎所有图像查看器和浏览器都会按照惯例将它们解释为 sRGB。

2.6 伽马校正

到目前为止我们已经讨论了gamma编码和解码,那么什么是gamma校准呢? 我也发现这有点令人困惑,所以让我来澄清一下。

如前所述,当今 99% 的显示器本身就使用 sRGB 色彩空间,但由于制造误差,大多数显示器将受益于一些额外的伽玛校准,以实现最佳效果。 现在,如果您从未校准过显示器,并不意味着它不会使用伽玛! 这根本不可能,过去和现在的大多数 CRT 和 LCD 显示器都是为了在 sRGB 下运行而设计和制造的。

将伽马校正视为微调。 你的显示器将始终以 sRGB 运行,但通过对其进行校准(在显卡驱动程序中或在操作系统级别),显示器的伽玛传输曲线将更接近我们之前讨论的理想伽玛传输函数。 此外,几年前,通过在图形管道(例如显卡、操作系统和应用程序级别)中应用多个伽马校正阶段,可能会以各种创造性的方式搬起石头砸自己的脚,但幸运的是,现在处理得更加智能。 例如,在我的 Windows 7 机器上,如果我在 NVIDIA 控制面板中打开伽玛校准,则操作系统级别校准将被禁用,反之亦然。

2.7 处理伽马编码图像

那么,如果几乎全世界都默认使用 sRGB,那么到底问题出在哪里呢? 如果我们的相机写入 sRGB JPEG 文件,我们只需解码 JPEG 数据,将其复制到显卡的帧缓冲区中,图像就会正确显示在我们的 sRGB LCD 显示器上(其中“正确”意味着它或多或少准确地表示拍摄的真实世界场景)。

当我们开始直接在 sRGB 像素缓冲区上运行任何图像处理算法时,就会出现问题。 请记住,伽玛编码是一种非线性变换,而 sRGB 编码基本上只是一种进行约 γ=1/2.2 伽玛编码的时髦方法。 事实上,你在任何计算机图形文本中发现的所有图像处理算法都会假设具有线性编码光强度的像素数据,这意味着向这些算法提供 sRGB 编码数据将微妙地呈现结果(或者在某些情况下非常明显)错误! 这包括调整大小、模糊、合成、像素值之间的插值、抗锯齿等等,仅举出最常见的操作!

3、不校正伽玛的影响

好了,理论讨论已经够多了,让我看看这些错误实际上是什么样子的! 这正是我们在本节中要做的; 我们将研究直接在 sRGB 数据上运行图像处理算法时最常见的情况,这会导致错误的结果。 除了说明目的之外,这些示例对于发现绘图程序和图像处理库中的伽玛不正确行为或错误也很有用。

必须指出的是,我选择的例子清楚地证明了伽玛不正确的问题。 在大多数情况下,当使用鲜艳、饱和的颜色时,问题最为明显。 使用更柔和的颜色,差异可能不太明显,在某些情况下甚至可以忽略不计。 然而,错误始终存在,图像处理程序应该对所有可能的输入正确工作,而不仅仅是对所有可能图像的 65.23% 来说还可以……此外,在基于物理的渲染领域,伽玛校正是绝对必须的,因为我们会看到的。

3.1 渐变

下图显示了在线性(顶部渐变)和 sRGB 空间(底部渐变)中计算的渐变之间的差异。 请注意 sRGB 值的直接插值如何产生更暗且有时更饱和的图像。

平滑处理灰度校正要打开吗,平滑处理灰度校正可以关吗(10)

图7:每个渐变对的顶部是gamma校正的,底部无gamma校正

仅从外观来看,人们可能更喜欢 sRGB 空间版本的外观,尤其是最后两个。 然而,这并不是光在现实世界中的表现(想象两个彩色光源照亮白墙;颜色会像线性空间情况一样混合)。

几乎每个人都以错误的方式这样做:CSS 渐变和过渡是错误的(有关详细信息,请参阅此讨论),Photoshop 是错误的(从版本 CS6 开始),甚至没有修复它的选项。

Krita 和 Pixelmator 是两个能够正确实现这一点(以及一般伽玛校正)的绘图程序。 SVG 还允许用户指定是使用线性插值还是 sRGB 空间插值来进行渐变、合成和动画。

3.2 颜色混合

在没有伽玛校正的绘图程序中使用软画笔绘图可能会导致奇怪的深色过渡带和某些鲜艳的颜色组合。 如果你仔细想想,这实际上是渐变问题的一种变体(软画笔的过渡带只不过是一个小渐变)。

一些人在 Adobe 论坛上声称 Photoshop 这样做实际上是在模仿现实生活中混合颜料的工作方式。 嗯,不,这与此无关。 这只是直接处理 sRGB 像素数据的幼稚编程的结果,现在我们仍将其作为默认的遗留行为。

平滑处理灰度校正要打开吗,平滑处理灰度校正可以关吗(11)

图 8:无伽玛校正的颜色混合的影响。 左边启用gamma校正,右边未启用

3.3 Alpha 混合/合成

作为颜色混合的另一种变化,让我们看看 Alpha 混合如何发挥作用。 我们将首先检查一些彩色矩形。 正如预期的那样,左侧的伽马校正图像模仿了现实生活中光线的表现,而右侧的 sRGB 空间混合则表现出一些奇怪的色调和亮度变化。

平滑处理灰度校正要打开吗,平滑处理灰度校正可以关吗(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.