当前课程知识点:刑侦视频图像处理 > 第4章 高动态范围(HDR)成像技术 > 4.4色调映射基础 > 4.4色调映射基础
同学们,大家好
这一次我们来讲解一下色调映射
首先我们要介绍一下
什么是色调映射
第二要介绍一下
色调映射算子的分类
第三是色调映射的Matlab
程序框架
首先我们来看一下这两幅图像
这两幅图像就是
*.hdr格式的图像
左边它是在专门的HDRView软件上
来显示的结果
而右侧是用Matlab
直接进行显示的结果
从这里可以看出
尽管我们是对同一幅图像
进行了显示
但显示的效果是差别比较大的
Matlab直接显示
它的信息丢失严重
一些暗处的场景
都没有显示出来
因此对于HDR图像
我们不能直接显示
我们需要用一定的算法来进行处理
我们来看什么是色调映射
前面我们介绍过高动态范围图像
指的是这个图像
它的动态范围比较宽
是非常宽的
而我们普通的显示器
它的动态范围
是不够宽
一般来说是8bit
这种情况
如何来解决
图像与显示设备的匹配问题
这就需要来把高动态范围的图像
进行有效的压缩
压缩之后
希望它能在
普通的HDR显示器上
自然的进行显示
色调映射
就是解决的这样一个问题
它是指对HDR图像的
动态范围进行处理
已将HDR数据的
高动态范围
调整为较低的动态范围
使得它能够
在给定的显示器上
进行有效的显示
它的目的就是来解决这种
动态范围不匹配的问题
那色调映射它是一个映射函数
这个映射函数要满足以下条件
一 它要保持局部
和全局的对比度
细节等重要特征
这些是不能丢失的
第二
在视觉感知上
色调映射的效果
应该与真实世界的场景
相匹配的
第三
色调映射函数
它应该是单调递增
或者是单调不减的函数
也就是说
我把HDR图像中暗的地方
映射之后
还是暗的
亮的地方映射之后还是亮的
这种是不能够改变的
那么色调映射算子
就定义为一个函数f(I)
高动态范围的图像
映射之后
到低动态范围到
低动态范围图像
这里有个图示
能够更加清晰的表示
色调映射的目的
我们右侧有观察者一
观察者二
这是两个人
这两个人 观察自然场景
观察这个流程中最左侧场景
他们是在不同的环境中
来观察同样的场景
观察者一看到的
是怎么看到的
它是通过相机的捕获
存储 色调映射之后
在显示器上显示的场景
而观察者二
是直接看真实世界中的场景
我们的目的是想让色调映射的
最终目标
也就是说
观察者二所看到的场景
与观察者一所看到的场景
保持一致
这也就是提到的
所见即所得的
这样 理想的目的
在进行色调映射的时候
通常色调映射
它只处理亮度信息
而颜色信息是保持不变的
也就是当彩色图像进来之后
我们需要先提取出
彩色图像的亮度信息
这里的亮度信息
我们用L来进行表示
Lw表示自然世界world
自然世界的亮度信息
我们对他用一个函数f进行映射
映射之后的亮度
表示为Ld
是在显示设备上
显示出来的亮度信息
这里Ld它的取值范围
一般是0~255
而Lw它的取值范围是比较宽的
映射之后
我们得到了 Ld是亮度信息
同时色度信息
我们就通过分段函数的
下面这一部分来完成
这里有一个饱和系数
它是在0~1范围内的
我们通过调整饱和系数
来使颜色信息更加真实
更加自然
由于色调映射处理
会增加图像的饱和度
因此我们需要调整
饱和度的系数S来降低饱和度
在使用算子f对HDR图像
进行色调映射处理后
通常还需要进行伽马校正
并且在每个颜色通道
将数据范围
限制在0~255区间
第二是色调映射算子的分类
它主要分为如下的类别
这是按不同的方式来分类
它有不同的分类结果
第1
是全局算子
全局算子
它是对图像中
所有的像素
使用相同的算子
来进行映射
第2类称为是局部算子
局部算子
它是考虑到
每个像素
它的映射结果
不仅与色调映射算子的结构有关
映射它还应该与周围的邻域像素有关
基于这种考虑
设计出了一些局部的算子
第3是分割算子
这里要将图像划分为若干个区域
在每个区域内
使用不同的色调
映射算子
在这一幅HDR图像中
有些目标和区域
是我感兴趣的部分
比如在刑侦图像中
我对这个人物比较感兴趣
那么这个人物的细节
我需要保留的更多
而对于背景部分
是我们不关注的,那这一部分
细节部分
我们就可以不进行保留
所以我们会把人物部分
用一个色调映射算子
使得色调映射的结果
尽量保留多的细节
而对背景部分
我们可以用另一个色调映射算子
去进行不同的处理
第4是频率梯度算子
这里将图像分解为
高频部分
和低频部分
低频部分保留了图像的
绝大部分信息
这一部分用色调映射算子来进行处理
而高频部分
它包含的是图像的细节
纹理边缘等等这些信息
这一部分信息
为了保留图像的细节
在色调映射的时候
这一部分我们可以不做处理
我们只对低频部分
进行色调映射
压缩它的动态范围
同时把高频细节全部保留下来
这也是一种思路
第5类称为是感知算子
感知算子
它可以是全局的
也可以是局部的
也可以是基于分割的
这种算子
它主要侧重于
模拟人类视觉系统
也就是说 人类视觉系统眼睛
对于自然场景的感知
和实际的真实存在
它不是完全对应的
这要根据人类视觉系统的特性
而这个感知算子
它就是服务于人类视觉系统
而设计出来的一种算子
第6种是经验算子
经验算子
也可以是刚才所提到的
全局的 局部的
基于分割的,等
这种算子
它不以模拟人类视觉系统为目的
这种算子通常受摄影技术等
相关领域知识的启发
力图创建一幅
更符合人类审美标准的图像
像这类算子
用在游戏的渲染等一些场景中
他渲染后的结果
跟实际的场景
不见得完全一致
但它非常符合人类审美标准
是基于这样目的
所设计的一类算子
所以根据不同的应用需求
我们要设计不同的算法
达到我们不同的效果
第7是时间相关算子
这类算子主要是为压缩HDR
视频和动画
它的动态范围所设计的
第三
我们简单了解一下
色调映射的Matlab程序框架
刚才在算法中我们提到了
在色调映射的时候
我们主要是对亮度信息
进行压缩处理
所以第一步要从输入的
高动态范围图像
里面提取出亮度信息
这里是直接调用的函数
lum luminance
它的亮度信息
中间的环节是进行色调映射
根据不同的需求设计
不同的色调
映射算子
然后最后一步
是我们把亮度信息和色度信息
融合到一起
来输出一幅质量比较好的图像
最后还可以根据实际情况
来选择是否需要颜色校正
颜色校正
也可以用Matlab函数中的文件
colorspace
用这个函数来进行校正
它具体的代码
大家有空可以自己调试一下
那么按照刚才的步骤
所有映射算子生成的色调
映射它的取值范围在0-1之间
对于标准的LCD和CRT显示器
我们还需要用伽马函数
来模拟显示器的可逆性
这里还需要用一个伽马映射
这节课主要是讲了
三个方面的内容
色调映射的定义
色调映射的分类
以及色调映射的
Matlab程序框架
好
就到这儿
谢谢大家
-1.1 绪论(上)
--1.1绪论(上)
-1.2 绪论(下)
-第1章测试
-2.1 光照不良图像增强处理(上)
-2.2 光照不良图像增强处理(下)
-第2章习题
-3.1图像超分辨率重建技术概述
-3.2基于插值的图像超分辨率重建
-3.3基于深度学习的图像超分辨率重建之神经网络
-3.4基于深度学习的图像超分辨率重建
-3.5基础知识介绍
-3.6压缩感知与超分辨率重建
-3.7基于压缩感知字典学习的超分方法
-第3章测试一
-第3章测试二
-4.1引言-什么是HDR图像
-4.2 概述-HDR图像处理的研究内容
-4.3HDR图像获取—多曝光融合
-4.4色调映射基础
-第4章测试题
-5.1图像水印技术概述
-5.2图像单水印技术
-5.3图像双水印技术
-第5章测试题
-6.1图像检索概述
-6.2词袋(BOW)特征描述
-6.3VLAD特征编码
-6.4PCA降维
--6.4PCA降维
-7.1 监控视频编码的作用
-7.2 监控视频编码的标准
-7.3 监控视频编码标准
-第7章测试
-8.1运动目标检测
-8.2运动目标跟踪
-第8章测试题
-9.1高光谱图像基础知识
-9.2高光谱图像的应用
-9.3高光谱图像处理
-第9章测试题
-10.1现勘足迹的基本知识
-10.2现勘足迹提取方法
-10.3结构光测量技术概况
-10.4结构光提取原理
-10.5现勘三维现场重建技术
-10.6基于二维图像的三维现场重建
-10.7基于深度信息的三维现场重建
-10.8应用案例
--10.8应用案例
-第10章测试题
-11.1研究背景与意义
-11.2图像预处理技术
-11.3基于LBP纹理的鞋印检索
-11.4基于SIFT特征的鞋印检索
-第11章测试题
-12.1什么是案件的智能串并?
-12.2实现智能串并案的机遇与挑战
-12.3智能串并案的实现策略与方案
-12.4真实案件智能串并的实现
-第12章测试题
-13.1刑侦模拟画像概述
-13.2 刑侦模拟画像计算机辅助系统
-13.3刑侦模拟画像计算机辅助系统:两维三维画像辅助
-第13章测试题