伽玛校正究竟需要什么?

use*_*080 8 gamma image-processing brightness luminance

我有充分理解伽马校正需求的问题.我希望你们能帮助我.

假设我们想要显示256个相邻像素.这些像素应该是从黑到白的平滑渐变.为了表示它们的颜色,我们使用线性灰度值.0..255.由于人眼的非线性,显示器不能只将这些值转换为线性亮度值.如果相邻像素具有亮度值(1/256)*I_max, (2/256)*I_max, et cetera,我们将在较暗区域中感知到两个像素之间的亮度差异太大(梯度将不是平滑的).

幸运的是,监视器对人眼具有相互的非线性.这意味着,如果我们将线性灰度值0..255放入帧缓冲区,则监视器将它们转换为非线性亮度值x ^ gamma.然而,由于我们的眼睛是非线性的,反之亦然,我们感觉到平滑的线性梯度.显示器和我们的一只眼睛的非线性相互抵消.

那么,为什么我们需要伽马校正?我在书中读到,我们总是希望显示器产生线性亮度值.根据它们,必须在将灰度值写入帧缓冲器之前补偿监视器的非线性.这是通过伽马校正完成的.然而,我的问题在于 - 据我所知 - 当监视器产生线性亮度值时,我们不会感知线性亮度值(即我们不会感觉到平滑,稳定的梯度).

据我所知,如果我们将线性灰度值放入帧缓冲区,那将是完美的.监视器将这些值转换为非线性亮度值,并且我们的眼睛再次感知线性亮度值,因为眼睛是互逆的非线性.不需要对帧缓冲器中的灰度值进行伽马校正,也不需要强制监视器产生线性亮度值.

我看待这些事情的方式有什么问题?谢谢

jme*_*paz 6

请允许我“复活”这个问题,因为我现在正在为类似的问题苦苦挣扎,我想我已经找到了答案——它可能对其他人有用。或者我可能错了,有人可以告诉我:)

我认为你的思维方式没有问题。事实是,如果您知道自己在做什么,则无需一直进行伽马校正。这取决于您想要实现的目标。让我们看两种不同的情况。

A) 光模拟(AKA 渲染)。你有一个漫射表面,有一盏灯指向它。然后,光的强度加倍。

好。让我们看看在这种情况下现实世界会发生什么。假设一个纯漫射表面,反射光的强度将是表面的反照率乘以入射光强度和入射光角度与法线的余弦值。任何。事实是,当入射光强度加倍时,反射光强度也会加倍。这就是为什么说光传输是一个线性过程。有趣的是,您不会感知到两倍亮度的表面,因为我们的感知是非线性的(这是由所谓的史蒂文幂定律建模的)。再说一遍:在现实世界中,反射光是双倍的,但您感觉不到它的亮度是原来的两倍。

现在,我们将如何模拟这个?好吧,如果我们有一个带有表面反照率的 sRGB 纹理,我们需要对其进行线性化(通过对其进行去校正,这意味着应用 2.2 伽马)。现在它是线性的,并且我们有了光强度,我们可以使用我之前说的公式来计算反射光强度。由于我们处于线性空间中,通过将强度加倍,我们将使输出加倍,就像在现实世界中一样。现在我们对结果进行伽马校正。正因为如此,当屏幕显示渲染图像时,它会应用伽马,因此它会有一个线性响应,这意味着当我们模拟两倍时,屏幕发出的光强度将是两倍-比我们模拟第一个时更强大。因此,从屏幕到达您眼睛的光线将具有两倍的强度。如果您正在查看具有影响它的真实灯光的真实表面,就会发生这种情况。当然,您不会感觉到第二次渲染的亮度增加一倍,但是,正如我们之前所说,这正是在真实情况下会发生的情况。现实世界和模拟中的相同行为意味着模拟(渲染)是正确的 :)

B)另一种情况恰恰是,如果您想要一个“看起来”(AKA 被感知)为线性的渐变。

由于您希望屏幕的非线性响应抵消我们的非线性视觉感知,因此您可以完全跳过伽马校正(如您所建议的)。或者,更准确地说,继续在线性空间和伽马校正中操作,但不是使用连续的像素(1,2,3...255)值创建梯度,这些值将被非线性感知(因为史蒂文的),而是值由我们感知亮度响应的倒数转换(即,将 1/0.5=2 的指数应用于归一化值。这是应用 Steven 亮度指数的倒数)。

事实上,如果您看到伽马校正的线性梯度,例如http://scanline.ca/gradients/ 中的梯度,您根本不会认为它是线性的:您会看到较低强度的变化比较高的(如预期的那样)。

好吧,至少这是我目前对这个话题的理解。我希望它可以帮助任何人。再一次,拜托,拜托,如果它是错的,如果有人能指出它,我将非常感激......


Vau*_*ato 3

问题确实出在进行颜色计算时。例如,如果您要混合两种颜色,则需要使用线性强度来进行计算。为了实际显示正确的结果,您必须将线性强度转换回伽马校正强度。

你的眼睛如何感知强度并不相关。为了正确进行颜色计算,必须根据光学物理原理来完成,光学物理原理依赖于线性亮度值。计算出颜色后,您希望显示器输出这些亮度值,无论其感知方式如何,因此您必须补偿显示器不直接产生所需颜色的事实。