文档章节

HDR阴影高光图像增强

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:45
字数 667
阅读 12
收藏 0

1. 技术背景

         HDR图像处理的技术本质上是对阴影,高光的细节增强。即图像太暗或者太亮的部分,其细节丢失的比较明显,HDR图像处理就是对暗部和高亮部分的细节进行恢复的过程。

        HDR的处理思路是这样的。首先,用户至少拍摄3张不同曝光量下的照片。分别对应低曝光,正常曝光和高曝光量。对于低曝光拍摄的图片,场景中比较亮的部分细节会比较突出,而其他部分则细节丢失比较严重。而对于高曝光量,则场景中较暗的部分被凸显出来,而其它部分曝光过度造成细节丢失。正常曝光水平则是丢失暗部细节和高亮的部分。

       值得一提的是HDR相机拍出来的图片,其每一个像素的分量并不是8位的,而是大于8位的。然而大多数显示设备目前只能显示每一个分量为8位的位图。如何把这3张不同曝光量水平的图片合成一张图片,以方便显示设备显示,这就是HDR色调映射的关键步骤。

      由此可见,对于场景光照不均的场合特别适合HDR效果,而正常光照下,其效果并不太明显。

      Photoshop提供的阴影高光工具可以一定程度上增强阴影高光的细节,但会产生噪点和色彩失真,尤其是在多次处理之后。iOS设备本身已经具备HDR功能,但处理时间很长,这主要是因为HDR算法复杂,在嵌入式设备上没法进行视频图像的实时处理。


2. 新的实现思路

   类似于数字音频中的均衡器原理,通过对不同波段局部光照量的分析,分段映射不同局部光照量到原始图片上,实现了一种简单高效的阴影高光细节增强算法。而其中局部光照量的分析使用积分图可以快速计算。该算法只需要一张照片就可以处理,完全满足视频图像处理的需要,时间复杂度为O(1)。优化后的算法只占用一帧灰度图像的缓存空间,在iPod4设备上对于640x480的图片可以达到20FPS以上。


3. 图像处理结果














测试图片来源于网络,其中最后一张图片是连续两次增强的结果。




本文转载自:http://www.cnblogs.com/celerychen/archive/2013/05/15/3588206.html

共有 人打赏支持
abcijkxyz
粉丝 64
博文 6196
码字总数 1876
作品 0
深圳
项目经理
Quartz/UIKit 绘画工具箱--XFCrystalKit

Quartz / UIKit 绘画工具箱,汇集常用几何和Context操作方法、图像效果处理、路径绘图、多变形状、渐变填充、3D内外阴影高光渲染、高斯模糊、动画效果及属性文本绘制。 安装 1、使用CocoaPo...

yizzuide
2016/09/05
307
0
神奇的图像处理算法

几周前,我介绍了相似图片搜索。 这是利用数学算法,进行高难度图像处理的一个例子。事实上,图像处理的数学算法,已经发展到令人叹为观止的地步。 Scriptol列出了几种神奇的图像处理算法,让...

阮一峰
2011/08/13
0
0
Shader笔记(高光编程+Unity内置函数)

高光原理:光线经物体的反射后的光线与视线夹角越小,高光越强,90度时,高光不存在。 用角度1计算高光: Shader"Lesson/SpecDiffuse"{Properties{ _ValveIndex("ValveIndex",Range(0.0,1.0)...

vermouthstx
04/11
0
0
Unity游戏画面品质增强,shader和贴图

参考文章:https://simonschreibt.de/game-art-tricks/ 游戏代码:http://git.oschina.net/liyonghelpme/unityRpg 如何增强普通场景的画面品质?通过对比类似风格游戏画面,来进行优化。 例如...

李勇2
2016/05/24
334
0
photoshop学习入门:选择和处理

昨天花了一天时间看了李涛的视频《高手之路》入门的24集,累得连写工作日报的力气都没了,19点就睡。今天4点起来,补一下记录。 photoshop是个位图处理工具(别的花里胡哨的功能忽略)—— ...

祁达方
2015/12/18
65
0

没有更多内容

加载失败,请刷新页面

加载更多

10-《深度拆解JVM》JVM是怎么实现invokedynamic的?(下)

一、问题引入 上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖...

飞鱼说编程
4分钟前
0
0
457. Circular Array Loop

Description Difficulty : Medium You are given an array of positive and negative integers. If a number n at an index is positive, then move forward n steps. Conversely, if it's n......

52iSilence7
20分钟前
0
0
MySQL SQL 常见用法

某字段重复记录 select a.fieldA from tableA a group by a.fieldA having count(a.fieldA)>1;==select * from (select a.fieldA, count(1) as faCount from tableA a group......

园领T
今天
1
0
如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则

以下是如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则。 防火墙 防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会...

linuxprobe16
今天
1
0
发生系统错误 5 拒绝访问

1、使用命令net start *开启一个服务的时候,出现发生系统错误5,拒绝访问。 解决:切换到管理员模式执行此命令即可。

fang_faye
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部