为什么要使用gamma校正?

文章讲述了gamma校正的起源,它最初是为了补偿CRT显示器的非线性特性,随后发展成为一种有效的图像存储和显示技术,能更好地适应人眼的非线性感知。即使在现代线性显示器普及后,gamma校正依然因其在色调映射和细节增强方面的价值而被保留。
摘要由CSDN通过智能技术生成


总结:在计算机时代早期,为了抵消当时主流的RTC显示器的非线性特征,拍摄图片存储过程中需要gamma校正。人眼对于亮度的感知反应也是非线性的,对暗部的特征变化更为敏感,恰好图片存储过程中的gamma校正正好能增加对暗部特征的采样,所以就算现在RTC显示器已经被淘汰,图片存储时仍然默认使用gamma校正,相应地,在现在的显示器端需要做逆gamma校正来使得最终真实物体亮度与显示器显示的亮度呈现接近1:1的关系。


人眼直接观察实物

在这里插入图片描述

(图1 实物到人眼成像的映射过程)

根据图1史蒂文斯定律可知,人眼对亮度变化的反应是非线性的——对暗部颜色变化更敏感、很难区分亮部的颜色差异(说是进化的结果,帮助人们在夜晚也能快速发现危险)。具体的表现如图2所示

在这里插入图片描述

(图2 人眼的非线性感知,截图来自:https://zhuanlan.zhihu.com/p/423301746)

人眼的这种特性近似于Log函数,若用 x x x表示亮度, x ′ x' x表示人眼反应,那么两者的对应关系为 x ′ = a ∗ l o g x x'=a*logx x=alogx,其中 a a a为常数。


相机拍摄、存储、输出到显示器上,人眼再观察该物体

在这里插入图片描述

(图3 实物从拍摄到被人眼从显示器上观看到的过程)

1. 拍摄

CCD、CMOS都是用硅作为光电转换器,他对光线强度的反应是线性的,光的亮度增加一倍,会使得感光元件接收到的光子数量增加一倍,可以简单理解成在相机对应像素点位置处的像素值也会增加一倍。

2. 存储

从图3可以发现图像捕捉设备在保存图像时会加上gamma校正,原因是:

1)CRT显示器的历史遗留问题

早期市场上几乎全是CRT(Cathode ray tube 阴极射线管)显示器,CRT在电能转为光能的时候表现的是非线性特性: I = V γ I=V^γ I=Vγ,其中 V V V为输入电压, I I I为CRT显示器在该电压下的显示亮度。由于显示器的非线性特性,为了最终在显示器上看到的和真实场景一致,所以存储的时候需要对拍摄原始数据进行gamma校正,两者非线性特征叠加正好抵消。

在这里插入图片描述

(图4 gamma校正与逆gamma校正叠加抵消非线性特性)

那么就有一个问题,现在CRT显示器基本都已经淘汰掉了,当今的显示器已经可以做到线性输出了,那么电子图像存储的时候是否可以废弃掉gamma校正?实际上,仍然还是需要伽马校正,因为他还有另外一个重要作用。

2)gamma编码图像能更有效地存储色调

自然界的光强度范围很广,但是我们磁盘的存储空间是有限的,常用的RGBA32格式,每个颜色通道有8位,最多只能表示256种亮度,所以需要一个把自然界很广的亮度范围映射到存储限制的256亮度范围的操作。

假设把亮度划分为10个等级,有两种映射方式:

  • 物理线性(Physically linear)映射,把真实亮度均匀划分为十等份进行映射,但是由于人眼感知的非线性特征,看到的亮度变化如图5左边的方块颜色变化,这样子存储下来的图像丢失了很多人眼敏感的暗部信息,这样子会造成最后显示的时候人眼认为没有还原物体真实色彩

    在这里插入图片描述

    (图5 物理线性映射)
  • 感知线性(Perceptually linear)映射,按人眼的感知亮度均匀划分亮度等级,能在不增加数据量的前提下,保留更多的暗部特征,更为真实地还原人眼所看到的真实场景

    在这里插入图片描述

    (图5 感知线性映射)

这里的感知线性映射就是gamma校正,具体的做法就是:相机捕获到现实世界真实的光的信息,然后对这些输入开n次方根(n即gamma值,一般取1.8~2.2), O u t p u t = I n p u t 1 / g a m m a Output = Input^{1/gamma} Output=Input1/gamma由于历史惯用,gamma取值2.2已成为业界标准

3. 显示

从图3和图4我们可以知道,如果gamma校正与逆gamma校正中的 n n n值和 m m m值相等的话,最终真实物体亮度与显示器显示的亮度呈现1:1的关系。在实际应用场景中,也可以通过调节显示器逆gamma校正中的gamma值(即图3中的 m m m)来提升图片中的某些细节的清晰度,但同时会使得另一部分不容易分辨细节:

  • 调大 m m m值,表现为总体提亮,原暗部占据更多明暗范围、易于分辨细节,原亮部变得更亮(白茫茫,占据明暗范围减小)且细节分辨变得困难。
  • 调小 m m m值,表现为总体压暗,原亮部占据更多明暗范围、易于分辨细节,原暗部变得更暗(黑乎乎,占据明暗范围减小)且细节分辨变得困难。

不同显示器的gamma值不同就会造成同一张图在不同显示器上颜色有出入,所以一般图像在存储的时候会同时保存图像的color profile,该文件用于描述图像颜色特征,它包含了一系列的参数,如颜色空间、颜色深度、色彩饱和度和亮度等信息,color profile文件有不同的编写标准,其中sRGB是应用比较广的一个通用标准。


参考:

Gamma空间和Linear空间 全解析

彻底搞懂Gamma矫正

gamma校正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值