您当前的位置: 首页 > 

暂无认证

  • 4浏览

    0关注

    97532博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

发布时间:2022-10-07 16:37:09 ,浏览量:4

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

93371ea5061eb624f99d8e6df40090ad.jpeg

作者丨HawkWang

来源丨计算摄影

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

d75bf00973ea6a7e26c0309eea254e01.png

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

c02deeb7497aa7b4f3cabce739c2fd2c.png

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

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

c94833141903cc533ad95dca5ae6e11e.png

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

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

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

ee7d87777cbbe39ec483227f3976525d.png

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

cca48b1e27311eeaaf5f22ecc13a3846.png

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

f3c96b6ce573b66838dbb573e0f84d96.png

5d6278e33a6c1483e77ead2109565016.png

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

3b2a03b08484d2c4b0effec994c6c05b.png

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

fc299502ed452b39cd6b90bffd1d8981.png

本文仅做学术分享,如有侵权,请联系删文。

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码) 3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进 4.国内首个面向工业级实战的点云处理课程 5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解 6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦 7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化 8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.1234s