图像去雾

背景

关于雾霾(Haze Image)

在雾天环境中, 由于大气中存在随机介质, 如悬浮颗粒、雾、霾等, 光从物体表面反射到达相机的过程会发生散射偏离了原来的传播路径而衰减。

雾霾图像特征

  • 低可见度
  • 色彩暗淡
  • 低对比度

雾霾图像

Haze image

背景知识

物理模型

I=Jt+A(1t)(1)

这里I是有雾图像,J是清晰图像,t是透射率图,A是大气光值。

暗通道先验(Dark Channel Prior)

Haze image

由于不知道透射率t和大气光值,因此这里需要一些先验知识。 何凯明等人基于对无雾清晰图像提出暗通道算法,即对图像取RGB图像的最小通道图像,然后再对局部区域做最小值滤波。对于清晰图像J得到的基本是一副全黑的图像,这个先验知识对大多数图像是有效的,论文中《Single Image Haze Removal using Dark Channel Prior》称其为暗通道先验。 
Jdark=minΩ(minC(JC))

这里 Jdark 是指J的暗通道, JC 是J的一个颜色通道。

暗通道先验去雾

透射率图的估计

将(1)式两端归一化得到(2)式 

ICAC=JCACt+(1t)(2)

对(2)式同时求其两端的暗通道,得 
minΩ(minC(ICAC))=minΩ(minC(JCACt))+(1t)(3)

在这里是假设局部窗口透射率t是常数。(3)式右端第一项趋近于0。因此可以根据上述估计出透射率t。即 
t=1minΩ(minC(ICAC))(4)

但是目前我们还不知道大气光值A,这个还比较好办。

大气光A的估计

He等先从暗通道中选取最亮像素的0.1比例, 然后选取原输入图像中这些像素具有的灰度值作为全局大气光估计。这样可以避开白色干扰物的影响。

细化透射率图

这样得到的透射率图 , 边缘和纹理细节都有一定的损失。直接使用恢复出的图像常常在场景深度突变位置产生残雾。因此需要对透射图进行边缘保持的滤波器优化,可以是soft matting, guided filter,bilateral filter,甚至用中值滤波也行。

恢复图像

估计出大气光A和透射率t,我们就可以恢复出清晰图像J了。

算法流程图

输入图像I计算有雾图像的暗通道估计大气光A估计透射率图细化透射率图清晰图像J

结果

我用C++按照原文编写程序,测试了一些标准图片,右键点击可查看原图: 




说明

本文介绍了暗通道去雾算法,对于去雾后图像较暗问题,可以增大其曝光,或者调整曲线等。暗通道算法去雾(GDCP)速度还不够快,处理一副600*450的图片耗时100ms,其中使用了van Herk的O(1)最小值滤波。另外一点,不适用于浓雾天气以及大片天空的区域。该算法简单,对大多数图像效果显著,观点新颖,这也是为何是得了最佳论文的原因吧。Matlab central上分享的源代码下载地址,可供参考。

更多阅读

http://research.microsoft.com/en-us/um/people/kahe/cvpr09/index.html 
A fast algorithm for local minimum and maximum filters on rectangular and octagonal kernels

转载请保留以下信息

作者 日期 联系方式
风吹夏天 2015年5月1日 wincoder@qq.com
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值