浅谈GAMMA校正

浅谈GAMMA校正浅谈GAMMA校正做图像处理时需要弱化光照影响。发现Gamma校正有效果,但也仅限于知道有这个指数关系,查阅了一些博客和网站,现整理如下。1关于人眼和计算机人眼对暗部细节比较敏感。人眼不同于摄像机,接收光子来感知光线。比如:在一间小黑屋中每增加一盏灯,摄像机都能线性增加亮度。但是人眼在黑暗时增加一盏灯时感受明显,往后随着灯的个数增长人眼并不会有明显感受。如果将实验做成图表,如下图…

大家好,又见面了,我是你们的朋友全栈君。

浅谈GAMMA校正

做图像处理时需要弱化光照影响。发现Gamma校正有效果,但也仅限于知道有这个指数关系,查阅了一些博客和网站,现整理如下。


1 关于人眼和计算机

  1. 人眼对暗部细节比较敏感。

    人眼不同于摄像机,接收光子来感知光线。比如:在一间小黑屋中每增加一盏灯,摄像机都能线性增加亮度。但是人眼在黑暗时增加一盏灯时感受明显,往后随着灯的个数增长人眼并不会有明显感受。如果将实验做成图表,如下图所示,蓝色为人眼紫色为摄像机。
    img
    这种特性有一个生物学原因:它使我们的视野能够在更广泛的亮度范围内运行。否则,我们在户外遇到的典型亮度范围将太大。参考以下三图,第一幅为原始图,第二幅为 5 bits 线性编码的图像,第三幅为 5 bits Gamma编码的图像。
    smooth 8-bit gradient (256 levels)
    linearly encoded gradient
    gamma encoded gradient
    一方面,可以看出Gamma编码后的图像相比于线性编码的图像,明显有更多的暗部色阶。这是不是说明了人和数学的和谐统一?Gamma编码刚好满足了人眼对暗部细节敏感的特性。另一方面,Gamma编码后的图像色阶更均匀,可以去测试线性和Gamma编码的直方图对比也曾现出均匀分布的特性。

  2. 计算机中的图片存储和显示通常为 8 bit,也就是256个色阶。

真实自然界图像 >> 图像存储 > 显示器输出 < 人眼接受 ,通过上述两点,受限于当下有限的存储和显示,需要在图像的转移(处理)过程中尽可能保留暗部细节,用以满足人眼的暗部敏感需求。


2 Gamma 工作流程

物理显示设备上luminance的生成,通常和它输入的信号不成正比的,存在非线性的关系。例如传统的CRT电视或显示器上,是通过电子枪的发射高速电子,投射在电视平面的荧光粉上使之发光,而通过不同输出电压来调节电子束功率,就可以调节显示的Luminance。但因为电压的幂定律( power-law)响应的缘故(心理物理量和物理量并不成线性增长关系,而是幂函数的形式)。最终显示的在屏幕上的效果受电压影响大概是原理的Power 2.5左右(通常是2.35到2.55之间) 。而这个Power函数的指数数值,就是我们俗称的gamma。记作: I ∝ V s γ I \propto V_{s}^{\gamma} IVsγ

如下图所示:

img

Gamma校正工作流程其实就是一个简单的图像复现过程,因为前面提到的两个问题,所有存储时先进行Gamma压缩在显示时在Gamma还原。最后 G a m m a = = 1 \mathrm{Gamma == 1} Gamma==1

如下图所示,对输入信号做一次关于gamma的逆处理( 1 / g a m m a = 1 / 2.2 = 0.45 ) \mathrm{1/gamma = 1/2.2 = 0.45)} 1/gamma=1/2.2=0.45)),这样两个非线性的相逆的曲线使得最终的输出成为线性。

600px-GammaFunctionGraph_svg.png

流程参考该图:

img

Ref

[1-Cn Blog][https://www.cnblogs.com/TracePlus/p/4168447.html]
[2][http://www.cambridgeincolour.com/tutorials/gamma-correction.htm]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148591.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 妥妥的世界第一:为什么MT4软件的地位无法撼动?

    妥妥的世界第一:为什么MT4软件的地位无法撼动?我是漆学军,2004年接触MT3.83的时候,还没有太在意,直到2005年,MT4正式推出之后,我就再也没有真正爱上别的软件,即便是MT4的升级版本MT5,我也一直提不起太大兴趣。外汇市场上有很多不同类型的交易软件,包括占领了大部分外汇交易市场的MT4、MT5、cTrader和各个机构自行研发的交易软件等等,然而,尽管竞争者很多,已经发布十六年了的MT4平台却依旧称得上是“交易软件之王”,市场占有率稳居世界第一,在外汇市场上具备不可动摇的地位。MT4平台简介MetaTrader4(MT4)..

    2022年5月29日
    103
  • sop流程图模板_sop是什么意思(sop标准作业流程模板)「建议收藏」

    sop流程图模板_sop是什么意思(sop标准作业流程模板)「建议收藏」一、什么是SOPSOP,又叫“标准作业程序”、“标准操作程序”,英文翻译是StandardOperationProcedure,取三个单词中首字母的大写即为SOP.定义:指将某一事件的标准操作步骤和要求以统一的格式描述出来,用来指导和规范日常的工作。SOP的精髓,就是将细节进行量化,用更通俗的话来说,SOP就是对某一程序中的关键控制点进行细化和量化。1、SOP的特征(1)SOP是一种程序。SO…

    2022年5月9日
    60
  • 关于参数thresh的理解(pd.dropna(thresh=n))

    关于参数thresh的理解(pd.dropna(thresh=n))书上的表达:假设你只想保留包含一定数量的观察值的行,可以使用thresh参数来表示。嗯嗯嗯….有些模棱两可。摸索了一番,终于理解了。格式:df.dropna(thresh=n)简单的理解:这一行除去NA值,剩余数值的数量大于等于n,便显示这一行。1.先创建数组,代码如下:1importnumpyasnp2from…

    2025年6月30日
    0
  • 驼峰命名转换_大驼峰命名法

    驼峰命名转换_大驼峰命名法以前没有写过项目时为了防止出错,数据库和实体类里的变量都统一设置一模一样后来才知道规范的都是使用驼峰命名转换统一设置例如:在xml里配置全局属性<configuration><!–配置全局属性–><settings><!–使用jdbc的getGeneratedKeys获取数据库自增主键值–>…

    2025年7月21日
    0
  • 背板管理——“绿色”点亮IDC

    背板管理——“绿色”点亮IDC

    2021年7月29日
    47
  • vscode注释快捷键失效_qt注释快捷键

    vscode注释快捷键失效_qt注释快捷键注释有两种,如果是单行注释,可以使用快捷键【ctrl】+【/】来注释。这样就能单行注释代码,样式为://Wearedevelopers注释错了想要取消,再按一遍即可。如果是多行注释(块注释),那么快捷键为【Alt】+【Shift】+【A】样式为:/*Wearedevelopers*/同样的再按一遍即可取消。你也可以选择代码,使用上方菜单的【编辑】来手动注释代码。

    2022年8月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号