为什么要对图像做Gamma校正?如何做?

2022-11-30 16:21:46 浏览数 (1)

在上一节中,我们得到了颜色校正后的图像

我们当前的进度如下,今天我们将完成下图中整个剩余的部分

亮度拉伸不说,这里讲一下Gamma校正。

我以前讲过,ISP在将图像编码为我们常用的8位图像之前,会进行一次所谓的色调重建的过程。而且,这个过程不仅仅是对图像的压缩保存需要,对图像的显示也是需要的:

而Gamma编码校正是色调重建的重要方式之一,今天我们先来谈谈为什么需要做Gamma编码。你可能听说过的广为流传的说法是Gamma编码最初是为了补偿阴极射线管(CRT)显示器的输入输出特性而开发的。在CRT显示器中,光强随电子枪电压非线性变化。通过伽玛编码压缩改变输入信号可以消除这种非线性,从而使输出图像具有预期亮度。

但我们如今已经不再广泛使用CRT显示器了,而且很多时候我们并不是为了显示图像,仅为了保存图像,为何还要做Gamma编码呢?

我们需要知道是,人类在感知颜色和亮度时是有层次的。

我们的感知系统对亮度的感知曲线近似幂函数,对较暗色调之间的相对差异比较亮色调之间的更敏感。

所以,当我们对图像进行编码时,需要符合人类的感知曲线,优化编码效率。简单说,我们分配较少的bit数给人类较难区分的图像亮区,分配更多的bit数来突出人类更加敏感的图像暗区

对于显示设备也是一样。无论显示设备的伽马特性如何,它们都需要伽马编码来最大限度地提高信号的视觉质量。它会执行所谓的Gamma校正过程,最终使得我们看到的依然是线性的显示图像。

以上,也就介绍了为什么我们看到的RAW图像很暗。因为经过我们前面处理后的RAW图像依然是线性的,显示设备的Gamma校正过程会进一步压低暗区,使得我们看到很暗的图像——这就是为什么我们现在需要进行Gamma编码。

那么,应该如何完成这个编码过程呢?这个曲线的公式的表示方法是什么呢?在Gamma编码之前还应该做什么操作?

0 人点赞