Gamma校正与线性工作流

  1 Gamma校正是什么?8位亮度值x(0-1)经过x^0.45的一个提亮过程。

  2 为什么需要Gamma校正

  人的眼睛是以非线性方式感知亮度,在自然办中,人感觉到的一半高度其实只有全部能量的0.2,那么就是说,如果没有Gamma校正,8位亮度中,只用不到2位用来保存黑到半黑的信息,而余下8位中超过6位用来保存半黑到白的信息,这样图片中暗的细节太少,为了改善这种情况,经过Gamma校正后,原来0.2的值保存为0.5.

  

  需要注意的是:一是现代8位的图片保存下来都是已经经过Gamma校正的。二是32位图片能保存非常多的信息,故不需要经过Gamma校正。

  3 什么是线性工作流

  8位亮度的图片经过反Gamma校正,就是原来x^0.45^2.2,简单来说,原来经过0.45次方,现在再经过2.2次方转回x成线性,然后与灯光混合生成最终颜色。

  Gamma可以看成一个提亮过程,而反Gamma提暗过程。

  4为什么需要线性工作流

  因为在游戏引擎或是3D渲染软件中,灯光都是一个线性量,当灯光与没经过反Gamma校正的非线性纹理数据混合就有二种情况,一是纹理亮度是对的,但是灯光会感觉局部暴光太高,而远处太暗,二是灯光显示正确,但是纹理亮度更亮,亮度细节丢失。为什么这样了,第一种情况,灯光也加入了反Gamma,这样暗的位置更暗,对比之下灯光位置太亮,第二种情况,纹理又进行了一次Gamma,这样更亮,而人眼对0-0.2与0.2-1感觉是一样的颜色差,亮度差更高,但是人看不出来,而暗差变小,会感觉亮度细节丢失明显。

  那么只有在与灯光混合计算前,进行一个反Gamma的过程,这样灯光与纹理数据都是线性数据,显示正确。

时间: 2024-10-13 16:08:06

Gamma校正与线性工作流的相关文章

Gamma矫正与Unity 线性工作流

Gamma是什么东西? Gamma 中文伽马,其实由来已久.本质上是一个色彩的变换曲线,比如输入颜色值是横坐标X,变换完的颜色就是纵坐标Y 咦 这样很奇怪,为什么颜色要经过这样的Gamma 变换呢? 正常RGB(0.5,0.5,0.5) 显示在显示上就RGB(0.5,0.5,0.5)就好了. 干嘛还要做Gamma变换,或者统一说gamma矫正? gamma矫正的由来,有好几个传送.龚敏敏 一篇<Gamma传说>文章里面说的,大概意思我也用别人的文章说明. 在很久很久以前(其实没多久),全世界都

关于LWF——线性工作流

1.什么是LWF? LWF全称Linear Workflow,中文翻译为线性工作流.“工作流”在这里可以当作工作流程来理解.LWF就是一种通过调整图像Gamma值,来使得图像得到线性化显示的技术流程.而线性化的本意就是让图像得到正确的显示结果.设置LWF后会使图像明亮,这个明亮即是正确的显示结果,是线性化的结果. 2.为什么原来的结果不正确?为什么要用LWF? 教程开头的例子中提到,全局光渲染器在常规作图流程下得到的图像会比较暗(尤其是暗部).而本来,这个图像是不应该这么暗的,不应该在我们作图调

【转】关于LWF——线性工作流

1.什么是LWF? LWF全称Linear Workflow,中文翻译为线性工作流.“工作流”在这里可以当作工作流程来理解.LWF就是一种通过调整图像Gamma值,来使得图像得到线性化显示的技术流程.而线性化的本意就是让图像得到正确的显示结果.设置LWF后会使图像明亮,这个明亮即是正确的显示结果,是线性化的结果. 2.为什么原来的结果不正确?为什么要用LWF? 教程开头的例子中提到,全局光渲染器在常规作图流程下得到的图像会比较暗(尤其是暗部).而本来,这个图像是不应该这么暗的,不应该在我们作图调

Gamma校正与线性空间

基础知识部分 为了方便理解,首先会对(Luminance)的相关概念做一个简单介绍.如果已经了解就跳到后面吧. 我们用Radiant energy(辐射能量)来描述光照的能量,单位是焦耳(J),因为光实际是以一定速度在传播的电磁波,所以把单位时间内的传播的Radiant energy(能量)称作radiant  flux(辐射通量),用来描述他的能量表现,单位瓦特(Watt). Radiant intensity(辐射强度)用来指定radiant  flux(辐射通量)的方向,正式的来说,他是用

gamma校正原理

http://blog.csdn.net/u013286409/article/details/50239377 目录(?)[-] 图2中左图为原图,中图为gamma = 1/2.2在校正结果,原图中左半侧的灰度值较高,右半侧的灰度值较低,经过gamma = 1/2.2校正后(中图),左侧的对比度降低(见胡须),右侧在对比度提高(明显可以看清面容),同时图像在的整体灰度值提高. 右图为gamma = 2.2在校正结果,校正后,左侧的对比度提高(见胡须),右侧在对比度降低(面容更不清楚了),同时图

camera摄像原理之四:曝光和GAMMA

从最明亮到最黑暗,假设人眼能够看到一定的范围,那么胶片(或CCD 等电子感光器件)所能表现的远比人眼看到的范围小的多,而这个有限的范围就是感光宽容度. 人眼的感光宽容度比胶片要高很多,而胶片的感光宽容度要比数码相机的ccd高出很多!对于sensor来说,又是如何来判断曝光是否正确呢?很标准的做法就是在YUV空间计算当前图像的Y值的均值.调节各种曝光参数设定(自动或手动),使得该均值落在一个目标值附近的时候,就认为得到了正确的曝光. 在多数数码相机和拍照手机上都可以看到曝光级别设定的功能,如前所述

gamma原理及快速实现算法(C/C++)

参考 http://www.cambridgeincolour.com/tutorials/gamma-correction.htm http://en.wikipedia.org/wiki/Gamma_correction 论文Gamma矫正的快速算法以及其C语言实现 一.什么是Gamma校正 Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: [2]   A是一个常数,通常取1,这个指数即为Gamma 经过Gamma校正后的输入和输出图像灰度值关系

hog源码分析

http://www.cnblogs.com/tornadomeet/archive/2012/08/15/2640754.html 在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采用的是hog算法,那么hog算法是怎样实现的呢?这一节就来简单分析一下opencv中自带 hog源码. 网上也有不少网友对opencv中的hog源码进行了分析,很不错,看了很有收获.比如: htt

Camera图像处理原理及实例分析-重要图像概念

Camera图像处理原理及实例分析 作者:刘旭晖  [email protected]  转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rgbbones.googlepages.com/ 做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果.否则,缺乏了理论的指导,只能是凭感觉和经