Gamma矫正

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整) 阅读详情

目录

gamma校正定义:

gamma校正原理:

关于gamma的相关项目总结:

gamma校正定义:

      Gamma源于CRT(显示器/电视机)的响应曲线,即其亮度与输入电压的非线性关系。所谓伽玛校正就是对图像的伽玛曲线进行编辑,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果。在图像照度不均匀的情况下,可以通过Gamma校正,将图像整体亮度提高或降低。

gamma校正原理:

假设图像中有一个像素A,值是 200 ,那么对这个像素进行校正必须执行如下步骤:

  1. 归一化 :将像素值转换为 0 ~ 1 之间的实数。 算法如下 : ( i + 0. 5)/256 这里包含 1 个除法和 1 个加法操作。对于像素 A 而言 , 其对应的归一化值为 0. 783203 。

  2. 预补偿 :根据公式 , 求出像素归一化后的 数据以 1 /gamma 为指数的对应值。这一步包含一个 求指数运算。若 gamma 值为 2. 2 , 则 1 /gamma 为 0. 454545 , 对归一化后的 A 值进行预补偿的结果就 是 0. 783203 ^0. 454545 = 0. 894872 。

  3. 反归一化 :将经过预补偿的实数值反变换为 0 ~ 255 之间的整数值。具体算法为 : f*256 - 0. 5 此步骤包含一个乘法和一个减法运算。续前 例 , 将 A 的预补偿结果 0. 894872 代入上式 , 得到 A 预补偿后对应的像素值为 228 , 这个 228 就是最后送 入显示器的数据。

  如上所述如果直接按公式编程的话,假设图像的分辨率为 800*600 ,对它进行 gamma 校正,需要执行 48 万个浮点数乘法、除法和指数运算。效率太低,根本达不到实时的效果。

  针对上述情况,提出了一种快速算法,如果能够确知图像的像素取值范围 , 例如 , 0 ~ 255 之间的整数 , 则图像中任何一个像素值只能 是 0 到 255 这 256 个整数中的某一个 ; 在 gamma 值 已知的情况下 ,0 ~ 255 之间的任一整数 , 经过“归一化、预补偿、反归一化”操作后 , 所对应的结果是唯一的 , 并且也落在 0 ~ 255 这个范围内。

        如前例 , 已知 gamma 值为 2. 2 , 像素 A 的原始值是 200 , 就可求得 经 gamma 校正后 A 对应的预补偿值为 228 。基于上述原理 , 我们只需为 0 ~ 255 之间的每个整数执行一次预补偿操作 , 将其对应的预补偿值存入一个预先建立的 gamma 校正查找表 , 就可以使用该表对任何像素值在 0 ~ 255 之 间的图像进行 gamma 校正。

关于gamma的相关项目总结:

     当我们在调试过程中,发现对比度不够时,最好优先调试gamma,拉对应lux下的gamma曲线。在以往项目中,发现当亮度差距不大,需要调整亮度时,拉取gamma也可以调整亮度,而且非常有效。所以总结两点拉gamma,一是对比度不够或过大,二是亮度差异。关于拉取gamma,怎么拉,这些还是经验性,只有通过项目去丰富。

参考链接:图像处理之gamma校正 - 淇淇宝贝 - 博客园

图像处理算法之Gamma校正_狂奔的CD的博客-优快云博客_图像处理gamma校正

gamma校正_什么是Gamma校正? 导读:常常在视频处理中听到Gamma曲线这个词,今天就随着这篇短文了解一下Gamma曲线的来历。一、光电转换与电光转换 将自然界中真实场景转换为屏幕上显示出来的图像,往往需要经过两个主要步骤:第一个是通过摄影设备,将外界光信息转换为图像信息存储起来,本质上是存储为数字信号;第二个是通过显示设备,将图像信息转换为屏幕输出的光信息。图1展示了从拍摄到显示的信号链。在整个过程中,信息流要... 阅读详情

相关推荐

Gamma矫正实验

f

buck84的专栏 510

伽马矫正(Gamma correction)

伽马矫正(Gammacorrection) 在学习HOG描述子时,对图像进行预处理中使用了伽马矫正这个方法,这里对伽马矫正进行简要的介绍。 伽马矫正也称幂律变换,一般用于平滑的扩展暗调的细节。进行伽马矫正的原因是因为人类的眼睛在感知光线时,眼睛对亮度的感知遵循近似的幂函数(如下图所示)而不是线性函数。 计算机系统中,由于显示器或显卡的原因会出现实际输出图像有亮度偏差。在第一次进入一些游戏时,想必大家都经历过调节屏幕亮度参数直至能看清底部图片的操作吧,这也伽马矫正的一种。 从图像中可以看出,当输.

dx199771的博客 1万+

Gamma矫正技术

Gamma矫正技术 一. gamma校正背景 在电视和图形监视器中,显像管发生的电子束及其生成的图像亮度并不是随显像管的输入电压线性变化,电子流与输入电压相比是按照指数曲线变化的,输入电压的指数要大于电子束的指数。这说明暗区的信号要比实际情况更暗,而亮区要比实际情况更高。所以,要重现摄像机拍摄的画面,电视和监视器必须进行伽玛补偿。这种伽玛校正也可以由摄像机完成。我们对整个电视系统进行伽玛补偿的目的,是使摄像机根据入射光亮度与显像管的亮度对称而产生的输出信号,所以应对图像信号引入一个相反的非线性失真,即与电视

吴建明wujianming_110117 1068

彻底搞懂Gamma矫正

最近复习图形学的时候,复习到了Gamma矫正,笔记本上记得内容太少,没有看明白是啥意思,于是就到网上去搜索了一下,好了越看越不明白了……花了两天,终于算是搞懂了,写在这里分享一下。 首先,关于颜色矫正,有三个方面: 1,相机矫正 2,显示器矫正 3,人眼矫正 关于相机矫正:首先相机的感光原件感受的是辐照度(物理符号,表示单位时间通过单位面积的光能量,可以直接理解为在这个位置光的亮度【能量意义上,不是人眼感受的强度,不明白的话可以先看下面,看完了应该能够理解】)。如果场景之中之前有一个灯泡,现在

Weies的博客 5116

图像处理中Gamma校正的原理和实现算法——Python

然后,定义一个Gamma值gamma=1.5,并使用NumPy库的power()函数对像素值进行幂函数变换以实现Gamma校正。最后,使用OpenCV库的imshow()函数显示原始图像和Gamma校正后的图像。调整Gamma值可以影响图像的亮度和颜色饱和度。本文介绍了Gamma校正的原理和实现方法,并提供了使用Python实现Gamma校正的示例代码。根据Gamma校正公式,输出像素值=输入像素值的幂函数变换以Gamma值为指数。其中,Iout是输出像素值,Iin是输入像素值,γ是Gamma值。

m0_47037246的博客 2805

gamma矫正/gamma映射

whatis the gamma? CCD、CMOS成像方式是通过像点中的“硅”感受光线的强弱而获得画面。而硅感光是物理成像,它真实地反应光线强度的变化,来多少就输出多少,因此它对光线的反应是线性的。但是它的伽马跟人眼的伽马是冲突的。 左图是人眼看到的画面,右图是ccd,cmos感受到的光电信号。绿线就是gamma曲线 why doe...

camerall 1万+

【图像处理】Gamma矫正

文章摘要: Gamma校正是一种用于补偿显示设备非线性亮度输出的技术。由于显示器(特别是CRT)的亮度输出与输入电压呈2.2次幂关系,导致渲染图像比实际更暗。Gamma校正通过在输出前对颜色值应用1/2.2次幂运算,使最终显示效果与线性计算一致。OpenGL提供两种实现方式:启用内置sRGB帧缓冲或手动在着色器中进行校正。此外,sRGB纹理需要特殊处理以避免二次校正。正确应用Gamma校正能显著提升光照计算的真实性和图像质量。

Antonio915的博客 1509

13.5元低成本模拟乘法器AD633JN实测:手把手教你避开那些坑

本文以13.5元低成本模拟乘法器AD633JN为核心,通过实测搭建混沌电路的全过程,手把手教你避开电源灌流、芯片发烫、输入偏置等常见陷阱。文章详细剖析了AD633JN的比例因子、输入阻抗等关键特性,并提供了正确的电源去耦、信号耦合及稳定性布线方案,旨在帮助硬件爱好者与工程师高效利用这款高性价比芯片,节省调试时间与成本。

weixin_28432777的博客 519

[openGL] 高级光照-Gamma矫正

在了解Gamma之前我们应该先知道一种物理特性: 输出亮度 = 输入电压 的 2.2次方幂监视器这个经过2.2次方幂处理过后就相当于是一种压缩处理(可以理解为将图片变暗了至于为什么要这样处理将图片变暗,这将在后面进行说明,当然理解为压缩处理是不对的,但后面会修正。)\,每种显示设备的这个值都不一样,但是大多数都是2.2,这个2.2就叫做监视器的Gamma。输出亮度 = 输入电压 ^ 2.2。

qq_45280097的博客 1456

CH340驱动安装全攻略:从Windows到MacOS的避坑指南(2025最新版)

本文提供2025年最新版CH340驱动安装全攻略,涵盖Windows、MacOS和Linux三大操作系统。详细解析了驱动安装的核心原理、标准流程,并针对Windows设备管理器报错、MacOS系统安全限制等常见“坑点”提供了深度排错与解决方案,旨在帮助开发者快速稳定地完成USB转串口通信配置。

earth的博客 426

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

python03011的博客 3752

Gamma曲线矫正

问题:什么是Gamma曲线矫正?Gamma曲线矫正是什么意思? Gamma 曲线是一种特殊的色调曲线,当Gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的Gamma值将会造成 输出亮化,低于1的Gamma值将会造成输出暗化。总之,我们的要求是输入和输出比率尽可能地接近于1。在显示器、扫描仪、打印机等输入、输出设备中这是 一个相当常见并且比较重要的概念

chrovery的专栏 1472

Revit二次开发之获取钢筋(Rebar)的线(Line)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

qq_25986069的博客 1311

图像处理--gamma矫正/Python

gamma矫正gamma矫正通常用于电视和监视器系统中重现摄像机拍摄的画面.在图像处理中也可用于调节图像的对比度,减少图像的光照不均和局部阴影.gamma矫正公式: f(x)=xγ f(x)=x^{\gamma} 即输出是输入的幂函数,指数为γ \gamma.如图,当γ \gamma取不同的值时对应的输入输出曲线( γ=1 \gamma =1时输入输出保持一致):python实现示例,通过除以像

akadiao的博客 2万+

傻白入门芯片设计,SystemVerilog Assertion(SVA)学习(二十一)

对SVA(SystemVerilogt Assertion)有了更深刻的认识,对经典的AveMC形式验证工具进行了介绍

qq_46675545的博客 8470

基于 Simulink 的三相四线制整流器在三相不平衡负载下的中点电位平衡控制实战教程。

本文介绍了三相四线制整流器在不平衡负载下的中点电位平衡控制方法。首先分析了中点电位漂移的物理机理和控制策略(零序电压注入)。接着详细讲解了Simulink建模步骤:搭建三相四线制主电路、设计平衡控制算法、实现PWM调制。通过对比有无平衡控制的仿真结果,验证了控制方法的有效性。最后提供了工程建议:零序注入需限幅、考虑中性线寄生电感影响、采用稳健的PI参数。该方案能有效抑制中点电位波动,保障三电平系统在不平衡工况下的稳定运行。

MHD0815的博客 60

Gamma矫正与Unity 线性工作流

Gamma是什么东西? Gamma 中文伽马,其实由来已久。本质上是一个色彩的变换曲线,比如输入颜色值是横坐标X,变换完的颜色就是纵坐标Y 咦 这样很奇怪,为什么颜色要经过这样的Gamma 变换呢? 正常RGB(0.5,0.5,0.5) 显示在显示上就RGB(0.5,0.5,0.5)就好了。 干嘛还要做Gamma变换,或者统一说gamma矫正? gamma矫正的...

weixin_30709061的博客 248

逆强化学习:从专家示范中学习策略

逆强化学习(Inverse Reinforcement Learning,简称IRL)是强化学习(Reinforcement Learning,简称RL)的一个子领域,它的目标是从专家的行为中学习策略。在传统的强化学习中,智能体通过与环境交互,根据奖励信号来学习一个策略。而在逆强化学习中,我们没有直接的奖励信号,而是通过观察专家的行为来推断出奖励函数,从而学习到一个与专家类似的策略。逆强化学习作为强化学习的一个重要子领域,在许多实际应用场景中都取得了显著的成功。

AI天才研究院 1451

opencv直方图增强/Gamma矫正算法

gamma矫正算法实现原理/思路: 实现代码: #include <iostream> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; /*手动实现 gamma 矫正o*/ void program(Mat channel) { int bins = 256; float *hist = new float[bins]; memset(hist, 0, sizeof

weixin_47970060的博客 3936

Codex 的 AGENTS.md 到底怎么写?前端、后端两套实战模板,照抄就能用

文件名是大写AGENTS.md,放在项目根目录构建、测试、类型检查命令都是可直接复制执行的只写了 Agent 从代码里推断不出来的约定红线规则用了明确的否定句式(禁止/不要/Never)标注了自动生成目录和禁止修改的模块写清了交付要求(改动清单 + 验证命令 + 风险说明)没有任何密钥、密码、连接串整体一页能看完,核心要点 10 条以内每一条都能通过"删掉会不会更容易犯错"的测试一份短小精准的 AGENTS.md,比一份充斥模糊规则的长文件有用得多。

篮球界最会写bug的人;程序猿中打球最菜的人。 610

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

OpenGL基础45:光照矫正(下)之Gamma校正

接上文:OpenGL基础44:光照矫正(上) 四、Gamma矫正 4.1、人的视觉特性 先不考虑OpenGL,甚至不考虑计算机 和很多错视图一样,对于下面这张图(灰阶),如果用1表示纯白,用0表示纯白,那么这张图片的哪个位置代表的是0.5,也就是自然界的平均亮度(中灰)呢? 我想看到这里的你可能会毫不犹豫的选中间,并心想:这个问题不是zz嘛? 然而事实上,自然界的平均亮度0.5在这张图3/4的位置而并非正中间,也就是说,平均色在人眼中是偏白的,尽管这确实看上去有点颠覆认知、不可思议 ...

加载中... 1339

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

gamma校正_什么是gamma矫正?什么是线性工作流?

点击蓝字关注我们今天我们来聊点理论知识:什么是gamma矫正,什么是线性工作流。很多同学可能第一次听说这两个概念。实际上,他和我们的工作息息相关,今天就给大家简单讲解下这两个概念。小编在写这边公众号的时候,原本日渐稀疏的头发,又掉了一大把,曾一度想放弃。但是又想想这些天做的准备,不能让他们付之东流,含泪把他写完。隐藏在我们身边的线性工作流程线性工作流程于1999年推出,并于2003年向公...

weixin_39668479的博客 1205

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Direct3D9 中的Gamma矫正

Direct3D9 中的Gamma矫正 纹理内容常常是存在sRGB格式中的。关于这个格式的细节是可以被找到的。通常,像素管线假定颜色是线性的以便融合(blending)操作可以在线性空间中进行。因为sRGB中的内容是Gamma较正,所以融合操作在线性空间中处理会导致错误的结果。显卡在读到有关sRGB内容的时候便会取消Gamma较正以避免错误的发生。然后当输出像素的时候再将像素信息写回...

Michael700825的博客 333

[自学记录06|*百人计划]Gamma矫正与线性工作流

简单介绍了一下Gamma矫正和线性工作流

Yhisken的博客 712
上一篇: 常见图像格式整理
下一篇: 噪声的特点及分类
kzzyf
博客等级 码龄9年 76粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值