搜索
 找回密码
 立即注册

简单一步 , 微信登陆

宽动态WDR

作者:chenfangyu | 时间:2016-12-14 16:56:03 | 阅读:3115| 只看该作者
传统的宽动态的算法感觉都是用多次曝光的算法进行的。我在想如何对一幅图像进行宽动态的处理呢,整了好长时间,也看了不少方法,基本都是对图片进行滤波,然后分解成基础层和细节层,然后分别对基础层和细节层进行处理。经过两个月的努力,终于做出来了,但是感觉更像是个暗场景提升。理论上采用双边滤波的效果最好,但是双边滤波速度太慢,为了能达到实时,采用更粗略的滤波,经过更深的优化,速度优化到了可以接受的地步。
下面就每一步骤详细说一下:
1 图像的色彩空间
    这个算法要用到滤波,如果是rgb的话,就需要在三个通道上分别处理,时间肯定快不起来,所以这里是在YCbCr空间上处理,这样只用在Y通道上处理,然后对CbCr进行修正.
2 细节层和基础层提取
    基础层就是对图像进行滤波,这里可以用高斯滤波,均值滤波。。。,最好的效果是双边滤波,但是速度太慢,看了不少双边滤波的快速算法,但是就论文中的时间,速度还是很慢,这里我用了高斯滤波,可以说是一种粗略的近似。
    细节层论文中大多提到是拿原图除以基础层后得到的,我试了一下,效果不错,也可以用原图-基础层来得到细节层。
3 基础层与细节层处理
    我上面第一段说了,我这个“宽动态”更像是暗场景提升。而细节层很大程度上影响图像的细节,那么如何提升图像的亮度呢?可以有很多中方法,比如说直方图均衡化就是一种相当好的方法(但是有些图会失真)。总之这里需要得到一个映射表,要是这个映射表可以根据图像自适应得到更好了,我是所有图的初始映射表是相同的,然后根据图片的灰度进行调整,效果还不是很好。这里有个很大的优化空间。
   至于细节层,原来我是没有处理的,后来对其进行了提升,就是细节层同步提高10%(这个幅度不宜过大);
这里说一下,,这个算法不错,可以借鉴一下。
4 亮度和色彩恢复
  根据上面的处理后,需要对亮度Y通道和色彩CbCr通道进行恢复,亮度恢复就是很简单的基础层-细节层的逆操作,而CbCr是根据Y处理前后的提升幅度做相同幅度的变化。
大概的思路就是这个了,上面有错误的地方还请各位读者指正。1080p速度可以达到25ms以内。这个可以做到更好,可惜本人才疏学浅。





收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版