当前位置: 首页 > news >正文

Gamma曲线

2019独角兽企业重金招聘Python工程师标准>>> hot3.png


问题:什么是Gamma曲线矫正?Gamma曲线矫正是什么意思?

Gamma 曲线是一种特殊的色调曲线,当Gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的Gamma值将会造成 输出亮化,低于1的Gamma值将会造成输出暗化。总之,我们的要求是输入和输出比率尽可能地接近于1。在显示器、扫描仪、打印机等输入、输出设备中这是 一个相当常见并且比较重要的概念。在计算机系统中,由于显卡或者显示器的原因会出现实际输出的图像在亮度上有偏差,而Gamma曲线矫正就是通过一定的方 法来矫正图像的这种偏差的方法。一般情况下,当用于Gamma矫正的值大于1时,图像的高光部分被压缩而暗调部分被扩展,当Gamma矫正的值小于1时, 图像的高光部分被扩展而暗调部分被压缩,Gamma矫正一般用于平滑的扩展暗调的细节。

Gamma曲线 - Zhiyong Cheung 智勇 - Z_Zhiyong VFX artist

图 1 CRT显示器的亮度响应曲线图图1显示的是一般CRT显示器的亮度响应曲线,可以看到其输入电压提高一倍,亮度输出并不是提高一倍,而是接近于两倍,显然 这样输出的图像同原来的图像相比就发生了输出亮化的现象,也就是说未经过Gamma矫正的CRT显示器其Gamma值是小于1的。没有经过Gamma矫正 的设备会影响最终输出图像的颜色亮度,比如一种颜色由红色和绿色组成,红色的亮度为50%,绿色的亮度为25%,如果一个未经过Gamma矫正的CRT显 示器的Gamma值是2.5,那么输出结果的亮度将分别为18%和3%,其亮度大大的降低了。

Gamma曲线 - Zhiyong Cheung 智勇 - Z_Zhiyong VFX artist

图2 按图进行曲线补偿为了补偿这方面的不足,我们需要使用反效果补偿曲线来让显示器尽可能地输出同输入图像相同的图像,所以这个时候显示器的输入信号应该按照图2所示的曲线进行补偿,这样才能在显示器上得到比较理想的输出结果。

Gamma曲线 - Zhiyong Cheung 智勇 - Z_Zhiyong VFX artist

图 3 理想状态下的曲线一般的反效果可以直接被赋予存储在帧缓存中的图像,使之Gamma曲线呈非线性,也可以通过RAMDAC进行这种反效果补偿(或者说是 Gamma曲线矫正)。这样我们就可以在显示器上看到同我们输入的图像接近的图像了(如图3)。当然图3所示的曲线只是理想状态下的情况,在实际应用中我 们并不可能得到如此完美的曲线,所以不同的厂商之间所竞争的就是谁能做到最接近于这个效果

转载于:https://my.oschina.net/u/2344808/blog/397820

相关文章:

  • 怎样编写高质量的 Java 代码
  • 【贪心】POJ 1065
  • 使用OpenSSL自签发服务器https证书
  • 360手机卫士界面布局学习过程
  • linux正则表达式grep与egrep
  • 2013年工作中遇到的20个问题:241-260
  • 读书笔记(九)--三分做事,七分做人
  • I.MX6_Linux_UART_devicedriver_hacking
  • QCon讲师对对碰——梁宇鹏访洪小军:创业公司招人是个事儿
  • 图形学:图像围绕着某个点P(a,b)旋转------白话版
  • Python的基本配置
  • 使用jvisualvm.exe 的Btrace插件介绍/使用教程
  • [Selenium]通过Selenium实现在当前浏览器窗口点击一个图标之后,弹出另外一个窗口,关闭这个窗口,再回到原来的窗口进行操作...
  • Oracle数据库的安装详解
  • Generate And Play A Tone In Android hacking
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android Studio:GIT提交项目到远程仓库
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • HashMap剖析之内部结构
  • Hibernate【inverse和cascade属性】知识要点
  • node.js
  • PAT A1017 优先队列
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Vim 折腾记
  • vue-router 实现分析
  • Yeoman_Bower_Grunt
  • 构建工具 - 收藏集 - 掘金
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 聊聊flink的TableFactory
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 我看到的前端
  • 用Visual Studio开发以太坊智能合约
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • "无招胜有招"nbsp;史上最全的互…
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (06)金属布线——为半导体注入生命的连接
  • (12)目标检测_SSD基于pytorch搭建代码
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (四) 虚拟摄像头vivi体验
  • (推荐)叮当——中文语音对话机器人
  • (转)EOS中账户、钱包和密钥的关系
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .form文件_一篇文章学会文件上传
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET 设计模式初探
  • .net 受管制代码
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET4.0并行计算技术基础(1)
  • .net中生成excel后调整宽度
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复