Gamma Correction(伽马校正)

article/2025/7/27 16:13:33

定义

Gamma correction, gamma nonlinearity, gamma encoding, or often simply gamma, is the name of a nonlinear operation used to code and decode luminance or tristimulus values in video or still image systems.[1] Gamma correction is, in the simplest cases, defined by the following power-law expression:

 Vout = A * Vin ^ γ

where A is a constant and the input and output values are non-negative real values; in the common case of A = 1, inputs and outputs are typically in the range 0–1. A gamma value γ < 1 is sometimes called an encoding gamma, and the process of encoding with this compressive power-law nonlinearity is called gamma compression; conversely a gamma value γ > 1 is called a decoding gamma and the application of the expansive power-law nonlinearity is called gamma expansion.


传统意义上的伽马校正


由于图像采集或显示设备在光电转换的时候电压与明亮度的关系是非线性的,在最终呈现图像之前需要修正,故产生了伽马校正。


现实世界中几乎所有的CRT显示设备、摄影胶片和许多电子照相机的光电转换特性都是非线性的。这些非线性部件的输出与输入之间的关系(例如,电子摄像机的输出电压与场景中光强度的关系,CRT发射的光的强度与输入电压的关系)可以用一个曲线表示,称为伽玛曲线(Gamma Curve)。以传统CRT(Cathode Ray Tube)屏幕的特性而言,该曲线通常是一个乘幂函数:


Y=(X+e)γ


其中,Y为亮度、X为输出电压、e为补偿系数、乘幂值(γ)为伽玛值,它用来衡量非线性部件的转换特性。这种特性称为幂-律(power-law)转换特性。改变乘幂值(γ)的大小,就能改变CRT的伽玛曲线。按照惯例,“输入”和“输出”都缩放到0~1之间。其中,0表示黑电平,1表示颜色分量的最高电平。对于特定的部件,人们可以度量它的输入与输出之间的函数关系,从而找出γ值。典型的Gamma值是0.45,它会使CRT的影像亮度呈现线性。使用CRT的电视机等显示器屏幕,由于对于输入信号的发光灰度,不是线性函数,而是指数函数,因此必需校正。


数字图像处理中的伽马校正


在编解码的时候引入伽马校正,为了压缩。由于人眼视觉特性决定了对于较高的明亮度范围可以丢弃一些细节,而剩下了的较低的明亮度范围则要尽可能保留细节。下图是人眼对明亮度的近似视觉特性曲线



伽马校正也可以实现图像对比度增强。下图阐释了人眼的同时对比特性:

3幅图中,中间方块的亮度一样,但是在暗背景中看起来亮,在亮背景中看起来暗。原理就是上面的幂函数曲线。利用这条曲线,可以增强较暗(或曝光不足)的图像的对比度;反过来,取指数大于1,则可以增强过亮(或过曝)图像的对比度。


编程

grayval = pow( grayval/maxval+EPS_VAL , gamma); //maxval是最大灰度值,EPS_VAL是零阈值,gamma是校正因子

val1 = pow(abs(diff/MAXVAL+EPS_VAL), gamma);  //差分图像




http://chatgpt.dhexx.cn/article/mMuaHUke.shtml

相关文章

从0开始的技术美术之路(十)伽马校正

本篇参考B站视频 “技术美术百人计划”霜狼_may &#xff1b; 《Shader入门精要》冯乐乐女神著&#xff1b; https://www.zhihu.com/question/27467127/answer/111973548 https://www.jianshu.com/p/9a91e6ad0d38 本篇主要用于自我复习&#xff0c;如有疑问或发现有什么错误&am…

2.6 伽马校正 一、Gamma校正

一、Gamma校正 颜色空间 通用&#xff1a;sRGB 电影&#xff1a;DCI-P3 电视&#xff1a;Rec-709、PAL等 印刷&#xff1a;CMYK、Adobe RGB 传递函数 我们知道了颜色的颜色值&#xff0c;要在电子设备上显示&#xff0c;就要把它转换为视频信号&#xff0c;传递函数就是用…

【剑桥摄影协会】伽马校正(Gamma)

伽马是数字成像系统的一个重要特征&#xff0c;它定义了像素值与其实际亮度之间的关系。在标准显示器上面&#xff0c;如果没有伽马&#xff0c;数码相机拍摄到的阴影内容便会跟我们实际看到的有所差异。平时我们所说的伽马校正、伽马编码、伽马压缩&#xff0c;都是伽马曲线的…

自动伽马校正(Auto Gamma Correction)算法

自动伽马校正(Auto Gamma Correction)算法 微信公众号&#xff1a;幼儿园的学霸 目录 文章目录 自动伽马校正(Auto Gamma Correction)算法目录理论代码实现参考资料 理论 在对图像进行处理过程中&#xff0c;查找到一篇对图像进行自动gamma校正的论文&#xff0c;论文名称及链…

图像基础--图像预处理技术(色彩插值、色彩校正、伽马校正、图像增强和白平衡)

1、简介 图像采集的功能由图像传感器实现&#xff0c; 目前图像传感器主要有电荷耦合器件CCD和CMOS传感器&#xff0c;CCD传感器具有高解析度、低噪声、动态范围大等优点&#xff1b;CMOS具备低成本、高的集成度、低功耗等有点。但不论是CCD还是CMOS传感器在将实际景物转换为图…

【Unity3D】伽马校正

1 伽马相关概念 1.1 人眼对亮度变化的感知 人眼对亮度变化的感知不是线性的&#xff0c;如下图&#xff0c;人眼对亮区的亮度变化不太敏感&#xff0c;对暗区的亮度变化较敏感。另外&#xff0c;我们可以想象一下&#xff0c;在一个黑暗的房间里&#xff0c;由 1 根蜡烛到 2 根…

伽马校正(gamma correction)学习笔记

学习HDR和Bloom特效的过程中&#xff0c;接触到了伽马矫正的问题。查阅了不少资料&#xff0c;这一篇讲的最清楚&#xff0c;下面的图片也是来自该文章。 这应该说是一个历史遗留问题&#xff0c;以前的CRT显示器是使用电子显像管&#xff0c;通过控制电流大小来控制显示屏幕上…

sRGB标准与伽马校正 理解

srgb &#xff1a; 颜色值会以非线性的方式存储 如一个颜色值在线性空间中&#xff0c;rgb(1,1,1)&#xff0c; 在gamma空间中&#xff0c;rgb会变为(1的2.2幂次&#xff0c;1的2.2幂次&#xff0c;1的2.2幂次),颜色值会发生改变&#xff0c;这样方便在显示器中显示的时候&am…

伽马校正和颜色空间

一、伽马校正 所谓gamma校正&#xff0c;实际上是一个颜色的非线性变换。下面来解释这个变换曲线存在的原因。 1.1 人眼的非线性视觉效应 为什么要有gamma校正了。一言以蔽之&#xff0c;人眼的生理效应。如下图所示&#xff0c; 第一行是人眼感受到的线性亮度变化&#xf…

伽马校正探究

关于伽马校正的前因后果&#xff0c;在网上有不同版本的说法&#xff0c;由于年代久远的因素&#xff0c;导致原本很简单的事情越说越复杂。今天我们的目标就是抓住伽马的头&#xff0c;而不是摸一下伽马的尾巴。 一&#xff0c;鱼龙混杂的论调 1&#xff0c;CRT 显示器的物理…

图像的伽马校正

图像的伽马校正 图像的伽马校正属于图像增强中幂次增强&#xff0c; γ>1时&#xff0c;使图像变暗&#xff0c;即图像变黑&#xff1b; γ<1时&#xff0c;使图像变亮&#xff0c;即图像变白。 下面是伽马校正的过程&#xff1a; 1&#xff09;将像素值为【0,255】如2…

伽马校正笔记(Gamma Correction)

在数字图像系统中&#xff0c;伽马&#xff08;Gamma&#xff09;是一个重要的但很少被正确理解的特性。它定义了一个像素的数值和对应的实际亮度之间的关系。 人眼感知的亮度和相机“看到”的亮度区别 对于数码相机来说&#xff0c;当检测的光子数增加一倍时&#xff0c;sens…

伽马校正-

伽马校正 问题描述&#xff1a;读取图像&#xff0c;然后对图像进行伽玛校正。 伽马校正 这里是一篇写伽马校正比较好的文章&#xff0c;我觉得可以作为背景知识补充。 伽马校正用来对照相机等电子设备传感器的非线性光电转换特性进行校正。如果图像原样显示在显示器等上&…

图形 2.6 伽马校正

一、Gamma校正 1、颜色空间 图中可以看到&#xff0c;sRGB和Rec.709的色域虚线一样&#xff0c;三原色的位置是相同的&#xff0c;那么它们之间的区别就是&#xff1a;传递函数不同 2.传递函数 定义 知道了颜色的颜色值之后&#xff0c;想要在电子设备上显示&#xff0c;就…

伽马校正(Gamma Correction)与sRGB

文章目录 CRT显示器与人眼视觉非线性显示与渲染伽马校正sRGB 纹理正确的点光衰减补充参考资料 CRT显示器与人眼视觉 过去, 大多数监视器是阴极射线管显示器(CRT). 这些监视器有一个物理特性就是两倍的输入电压产生的不是两倍的亮度. 输入电压产生约为输入电压的 2.2 次幂的亮度…

图形学基础——伽马校正

百人计划学习视频连接&#xff1a;【技术美术百人计划】图形 2.6 伽马校正 颜色空间 具体内容在之前的文章有讲&#xff1a;色彩空间介绍 sRGB&#xff1a;微软在1996年发布的通用颜色标准DCI-P3&#xff1a;数字电影播放的颜色标准Rec-709、PAL&#xff1a;电视行业的颜色标…

伽马校正

注&#xff1a;本文为博主参考书籍和他人文章并加上自己的理解所编&#xff0c;作为学习笔记使用并将其分享出去供大家学习。若涉及到引用您的文章内容请评论区告知&#xff01;如有错误欢迎指正&#xff01; 一、伽马校正简介 射伽马校正是图像预处理阶段经常使用的一个非…

可执行文件的装载,进程和线程,运行时库的入口函数(第六章)

目录 第1步.创建一个独立的虚拟内存空间 第2步.读取可执行文件头&#xff0c;建立虚拟空间和可执行文件之间的映射关系 第3步.将cpu的指令寄存器设置成可执行文件的入口地址&#xff0c;启动运行。 程序开始执行&#xff0c;发生页错误。 随着程序的执行&#xff0c;不停…

疯狂python讲义学习笔记——前十章完结

#第一章&#xff1a;绪论 #单行注释多行注释""" 多行注释 """#dir列出指定类或模块的属性与方法&#xff0c;help查看某个函数或方法的帮助文档 print(dir(str)) print(help(str.title))#第二章&#xff1a;数据类型 a5 print(type(a))#<clas…

嵌入式代码学习心得记录

一、C语言学习心得记录 函数递归 编写顺序 终结条件输入下一级递归参数,调用下一级递归函数.当前递归函数的操作代码,在下一级递归函数执行完成后执行的操作代码. #include <stdio.h> #include <string.h>void revert(char *s, int len) {// 终结条件if(len <…