Tone Mapping(色调映射) 认识

Tone Mapping(色调映射) 认识

  • 目录

       

  1. 【背景 - 高动态图像】
  2. 【起源】
  3. 【定义】
  4. 【举个例子】
  5. 【研究分类】
  • 详细

1. 【背景 - 高动态图像】

图像的动态范围: 图像的 Max(亮度值) /  Min(亮度值)

高动态图像       : 动态范围大的图像

高动态 VS 普通 : 高动态图像(位数 > 8位)    普通灰度图像(位数 = 8位 一般情况)   显示器的灰度Only 8位

怎么办 -处理     : 将高动态图像的颜色 -> 变换 才能显示出来;

另外高动态图像的灰度值分布的很不均匀,只有少数的像素点较亮,所以如果直接对图像进行线性的归一化(把灰度最大值映射为255,最小值映射为0)再显示,则图像会一片黑(参考左下图)。色调映射(tone mapping)就是为了解决这个问题而生。

              --- 延伸:自然图像亮度特点。 亮度单位是坎德拉/平方米(cd/m2), 自然界中的亮度从星光(10^-2 cd/m2数量级),到日光(10^4 cd/m2数量级),动态范围为10^6,非常大。

2. 【起源】

eg1 : 在18世纪时,画家在作画的时候面临着这样一个问题:自然界中光线亮度的范围非常大,而颜料颜色的范围却非常有限。

            因此,找出一套行之有效的颜色转换方法,用范围有限的颜料,画出颜色范围很宽的自然光,变得尤为重要。现如今,这种颜色的转换的方法,就成为色调映射。

eg2 : 在摄影学中,底片的对比度往往很低,直接冲洗的话,很难表现图片中的细节。
            所以也需要对底片进行处理(Dodging and Burning),这也引入了色调映射的一类方法,详细内容会在后面叙述。
eg3 : 在20世纪70年代,电子相机的出现,人们开始使用模拟电路,来处理图像。
            之后随着数字相机的出现与发展,发展出了现在的各种色调映射(Tone mapping)算法

3. 【定义】

 色调映射算法 : 指对图像颜色进行映射变换的算法。

                目的, 调整图像的灰度,使得处理后的图像人眼看起来更加舒适,能更好的表达原图里的信息与特征。

               理解 : 通常被理解为将颜色值从高动态范围(HDR)映射到低动态范围(LDR) 的过程。

                   在Unity(虚拟现实引擎软件)中,这意味着对于大多数平台上任意16 位的浮点型颜色值将被映射为 [0,1] 范围内的传统8位颜色值。

4. 【举个例子】

 Gamma校正

 

5. 【研究分类】

 色调映射研究方法大致分为两类 : 全局 / 局部

1> 全局算法

特点 :

1. 任意相同颜色的像素点,在映射后,还是相同的颜色;
2.全局算法一般较简单,速度快;
3.全局算法的性能一般劣于局部方法;

存在算法 : 直方图均衡化、Gamma、对数校正、直方图规定化、分段灰度变换

2>局部算法

特点 :

 
1.映射前颜色相同的像素点,映射后颜色可能不同
2.局部算法一般较全局方法更复杂,速度相对较慢;
3.局部算法的性能一般优于全局方法;
4.会出现光晕等现象

存在算法 : 分块中值直方图等

 

特别感谢新浪博客作者 陈法圣 资料链接: http://blog.sina.com.cn/s/blog_6a5781350102w707.html 

相关公式参考链接 :http://www.cnblogs.com/bigbigtree/p/3458797.html

相关优秀算法示例 :https://wenku.baidu.com/view/d5996bb8be23482fb5da4c26.html

以上内容只是简单搭起框架 , 日后在做项目或研究过程中会持续更新。。。

posted @ 2017-09-16 10:19  心沉大海-汇聚成一  阅读(18227)  评论(0编辑  收藏  举报