以下内容转自网络:

tone Mapping原是摄影学中的一个术语,因为打印相片所能表现的亮度范围不足以表现现实世界中的亮度域,而如果简单的将真实世界的整个亮度域线性压缩到照片所能表现的亮度域内,则会在明暗两端同时丢失很多细节,这显然不是所希望的效果,Tone Mapping就是为了克服这一情况而存在的,既然相片所能呈现的亮度域有限则我们可以根据所拍摄场景内的整体亮度通过光圈与曝光时间的长短来控制一个合适的亮度域,这样既保证细节不丢失,也可以不使照片失真。人的眼睛也是相同的原理,这就是为什么当我们从一个明亮的环境突然到一个黑暗的环境时,可以从什么都看不见到慢慢可以适应周围的亮度,所不同的是人眼是通过瞳孔来调节亮度域的。

而这个问题同样存在在计算机图形上,为了让图像更真实的显示在显示器上,同样需要Tone Mapping来辅助。
整个Tone Mapping的过程就是首先要根据当前的场景推算出场景的平均亮度,再根据这个平均亮度选取一个合适的亮度域,再将整个场景映射到这个亮度域得到正确的结果。其中最重要的几个参数:
Middle grey:整个场景的平均灰度,关系到场景所应处在亮度域。
Key:场景的Key将决定整个场景的亮度倾向,倾向偏亮亦或是偏暗。
首先我们需要做的是计算出整个场景的平均亮度,有很多种计算平均亮度的方法,目前常用的的是使用log-average亮度来作为场景的平均亮度,通过下面的公式可以计算得到:

其中Lw(x,y)是像素点x,y的亮度,N是场景内的像素数,δ是一个很小的数用来应对像素点纯黑的情况。

上面的公式用来映射亮度域,α即是前面所讲的Key值,用来控制场景的亮度倾向,一般来说,会使用几个特定的值,0.18是一个适中的Key,0.36或者0.72相对偏亮,0.09甚至0.045则是偏暗。完成映射的场景为了满足计算机能显示的范围还要将亮度范围再映射到[0,1]区间,可以通过下面的公式简单的得到[0,1]区间的亮度。

附上效果图:

不过这样得到的结果并不总是令人满意的,所以一般扩展为如下面的公式,公式中的参数Lwhite用来控制场景中的曝光,凡是亮度超过Lwhite的像素都会被置为纯白。如果Lwhite的值非常大,则这个参数在公式中将不起任何作用,如果非常小则场景将变为几乎全白。Ld即为我们所要的映射后的x,y像素点的亮度值。

Tone Mapping一般作为HDR算法中的一部分存在,在使用中会灵活很多,但基本的原理都是相同的。

tone mapping简介相关推荐

  1. Tone Mapping

    Tone Mapping 三月 10, 2011 BY JIMMY·3 COMMENTS Tone Mapping原是摄影学中的一个术语,因为打印相片所能表现的亮度范围不足以表现现实世界中的亮度域,而 ...

  2. HDR Tone Mapping

    在游戏引擎渲染管线中,我们对于R.G.B通道颜色信息的数值范围通常设置在[0,1]之间(或者是[0,255]).其中,0代表没有光亮度,1代表显示器能够显示的最大光亮度.这个表示方式虽然直接易懂,但它 ...

  3. 【图像处理】一种低光照图像的亮度提升方法(Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images)

    [fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处] 前言   在实际的拍照过程中,常常会遇到,光线不足的情况.这时候单反用户一般会调大感光度, ...

  4. Tone Mapping Correction

    上一篇说了 Gamma 矫正的概念,而色调映射的本质理解和 Gamma 有相似之处,所以就顺着思路说到色调映射的概念.色调映射(Tone mapping)用一句话来总结就是用于在显示设备上面更好的呈现 ...

  5. A Hybrid ℓ1-ℓ0 Layer Decomposition Model for Tone Mapping

    Abstract 色调映射旨在从保留视觉信息的高动态范围图像中再现标准动态范围图像.最先进的色调映射算法大多将图像分解为基础层和细节层,并进行相应的处理.由于缺乏施加在两层上的适当先验,这些方法可能存 ...

  6. 色调映射(Tone Mapping)

    一.概述 虽然HDR 图像有较大的动态范围,能更细致地反映真实场景,但他的缺点也很明显.一是同尺寸的数据比低动态范围图像大,需要更大的存储空间与传输带宽.二是难以输出,目前大多数显示器.打印机等图形输 ...

  7. Tone Mapping(色调映射) 认识

    转自:https://www.cnblogs.com/cjhd/p/7530440.html Tone Mapping(色调映射) 认识 目录         [背景 - 高动态图像] [起源] [定 ...

  8. 局部色调映射(Local Tone Mapping)

    重建视觉外观是色调映射的终极目标.色调映射算法在降低高动态图像(HDR)范围的同时着力保护捕捉到的原始图像的外观.色调映射算子分两种策略,一种是全局的,另一种是局部的. 1. 全局映射算子 每一个像素 ...

  9. Tone Mapping(简洁直观的Tonemapping介绍)

    转自:https://64.github.io/tonemapping/ What is tone mapping? Most monitors are capable of displaying R ...

最新文章

  1. Exchange出站队列堵塞解决思路
  2. 学python买什么书好-python官方推荐30本面向初学者的书籍!你看过几本?
  3. Linux 嵌入式启动以及优化(Z)
  4. 我感觉这个书上的微信小程序登陆写得不好
  5. binaryviewer java_用java实现java的2进制文件字节序转换到C/C++的2进制文件字节序
  6. guid怎么做到唯一_怎么做成为一个好女人呢?
  7. mysql 建表语句 stored as_Druid 解析Hive建表语句解析报错
  8. Spark:超越Hadoop MapReduce
  9. php 顺序排序,PHP顺序排序
  10. window.postMessage
  11. 常见排序算法的python实现
  12. 浅谈谷歌退出中国市场带来的问题
  13. SAA7113视频解码芯片介绍
  14. 计算机培训日志范文30篇,班主任工作日志20篇.docx
  15. 北京有两个百度,李彦宏只有一个陆奇
  16. matlab special,matlab的special函数用法
  17. 公司文案编辑常用迅捷PDF转换成Word转换器
  18. HashMap的树化门槛为什么是8
  19. 我用kafka两年踩过的一些非比寻常的坑(宝贵经验)
  20. Teamcity的安装与使用

热门文章

  1. python抽奖滚动界面_Python使用Tkinter实现转盘抽奖器的步骤详解
  2. 移动设备input输入框点击后自动选中内容_带你用 Python 实现自动化群控(入门篇)...
  3. html li去掉黑点_10分钟教你Python爬虫(上) HTML和爬虫基础
  4. java 线程管理框架_实现 Java 多线程并发控制框架
  5. 后台启动_Linux系统后台运行应用三板斧
  6. matlab求两向量夹角_Matlab-自动化控制系统设计4频域分析
  7. 三位数的茎叶图怎么看_人参怎么判断年份,这些点你要了解
  8. java自定义tag,tag文件与tag标记,java自定义标签
  9. matlab数据导出excel,求教怎么将matlab的数据导出到excel
  10. Hadoop入门进阶步步高(二)-目录介绍