为什么要对图像做Gamma校正?如何做?
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨HawkWang
来源丨计算摄影
在上一节中,我们得到了颜色校正后的图像
我们当前的进度如下,今天我们将完成下图中整个剩余的部分
亮度拉伸不说,这里讲一下Gamma校正。
我以前讲过,ISP在将图像编码为我们常用的8位图像之前,会进行一次所谓的色调重建的过程。而且,这个过程不仅仅是对图像的压缩保存需要,对图像的显示也是需要的:
而Gamma编码校正是色调重建的重要方式之一,今天我们先来谈谈为什么需要做Gamma编码。你可能听说过的广为流传的说法是Gamma编码最初是为了补偿阴极射线管(CRT)显示器的输入输出特性而开发的。在CRT显示器中,光强随电子枪电压非线性变化。通过伽玛编码压缩改变输入信号可以消除这种非线性,从而使输出图像具有预期亮度。
但我们如今已经不再广泛使用CRT显示器了,而且很多时候我们并不是为了显示图像,仅为了保存图像,为何还要做Gamma编码呢?
我们需要知道是,人类在感知颜色和亮度时是有层次的。
我们的感知系统对亮度的感知曲线近似幂函数,对较暗色调之间的相对差异比较亮色调之间的更敏感。
所以,当我们对图像进行编码时,需要符合人类的感知曲线,优化编码效率。简单说,我们分配较少的bit数给人类较难区分的图像亮区,分配更多的bit数来突出人类更加敏感的图像暗区
对于显示设备也是一样。无论显示设备的伽马特性如何,它们都需要伽马编码来最大限度地提高信号的视觉质量。它会执行所谓的Gamma校正过程,最终使得我们看到的依然是线性的显示图像。
以上,也就介绍了为什么我们看到的RAW图像很暗。因为经过我们前面处理后的RAW图像依然是线性的,显示设备的Gamma校正过程会进一步压低暗区,使得我们看到很暗的图像——这就是为什么我们现在需要进行Gamma编码。
本文仅做学术分享,如有侵权,请联系删文。
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的点云处理入门与实战教程
为什么要对图像做Gamma校正?如何做?相关推荐
- 在OpenCV环境下对图像做Gamma校正
什么是Gamma校正? Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系. 上面中的指数γ即为Gamma. 经过Gamma校正后的输入和输出图像灰度值关系如 ...
- python实现图像自动Gamma校正
python实现图像自动Gamma校正 前言: 关于Gamma: Gamma校正是对动态范围内亮度的非线性存储/还原算法,即输入值进行的非线性操作,使输出值与输入值呈指数关系:从效果上来说Gamma校 ...
- python图片矫正后对比_python库skimage 对图像进行gamma校正和log校正
Gamma校正 Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: 这个指数即为Gamma. Gamma校正的原理很简单,就一个很简单的表达式,如下图所示: ...
- 图像的Gamma(伽玛)校正的原理及OpenCV代码实现
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 Gamma校正的原理很简单,就一个很简单的表达式 ...
- gamma校正_什么是Gamma校正?
导读:常常在视频处理中听到Gamma曲线这个词,今天就随着这篇短文了解一下Gamma曲线的来历. 一.光电转换与电光转换 将自然界中真实场景转换为屏幕上显示出来的图像,往往需要经过两个主要步骤:第一个 ...
- gamma校正到底是个什么玩意儿
一. 在哪见过.听说过Gamma? * 还用说,Adobe Gamma * 常听说MAC的默认Gamma是1.8,PC的是2.2 * 我的显卡驱动程序里有Gamma调节 * 我下载了一个软件,也可以调 ...
- gama校正算法matlab,Gamma校正及其FPGA实现(一)
最近在做一个千兆以太网传输的项目,里面用到了Gama校正算法,本来想使用Altera 的IP核Gamma Corrector,但Quartus16.0把Gamma Corrector的IP核集成到了Q ...
- 关于视频播放的伽马——gamma校正
关于视频播放中的gamma 我们在做视频播放器过程中经常会看到有的播放器有gamma调整,通过gamma调整也能明显觉察到视频图像颜色亮度等变化,但gamma对普通用户太专业难懂,即时对开发人员来说g ...
- Gamma校正及其OpenCV实现
參考:[1]http://www.cambridgeincolour.com/tutorials/gamma-correction.htm [2]http://en.wikipedia.org/wik ...
最新文章
- 013_logback中的SyslogAppender
- [SAP ABAP开发技术总结]ABAP读写、解析XML文件
- 小Z的袜子(hose)
- 纹理和基元_Java的精妙之处,包括基元和变量参数数组
- sublime快速打开终端terminal
- 征途服务管理器显示不出启动服务器,征途服务器管理器连接数据库
- ASP.NET的几个试题(《C#与.NET程序员面试宝典》)
- 我是如何从蛋壳的虎口里维权的?
- 单龙芯3A3000-7A1000PMON研究学习-(13)撸起袖子干-make的过程
- 【SVM分类】基于遗传算法优化支持向量机实现葡萄酒分类附matlab代码
- NPOI之Excel——合并单元格、设置样式、输入公式
- 树莓派 Pico Clion开发
- 现在还可以做公众号吗?我是如何在细分领域公众号粉丝一年不到从0到5000+增长?
- Linux第二课 文件系统目录结构
- 同步上下文(SynchronizationContext)
- BIOS Setup设置方法
- [转载] 深入 superviser
- 基于Jetson AGX Xavier GMSL9296硬件设计与软硬件调试
- Java行业2019年的发展前景
- iOS开发-声网Agora Demo
热门文章
- 使用keytool工具产生带根CA和二级CA的用户证书
- 00 OpenCV环境搭建(Win10+Opencv3.1+VS2015企业版)
- TreeHelper 是一个将含有id,parentId属性的JavaBean转化为层次分明的树形结构的工具类。
- 大理石在哪【搜索排序】
- 白盒测试——数据流测试
- 阿里巴巴CEO马云曾经注册过的N个搞笑商标 只有你想不到
- How to Write a Spelling Corrector
- 寒假日报(1.25)
- html静态商城网页制作 基于HTML+CSS+JavaScript在线服装商城店铺商城设计毕业论文源码...
- python写自动化测试脚本常见报错_Appium自动化测试