• 图像增强图像修复图像去雾之间的关系
  • 暗通道的概念与意义
  • 暗通道去雾霾的原理
  • 导向滤波求透射率图像
  • 算法的不足之处
  • 参考资料

图像增强、图像修复、图像去雾之间的关系

图像增强 强调主观标准,算法的结果是改善图像的质量。
图像修复 强调客观的标准,算法的结果是改善图像的质量。
图像去雾 图像增强和图像修复两种技术彼此交叉的典范,如果将雾霾看作是一种噪声,那么去除雾霾的标准显然是非常客观的,也就是将图像恢复到没有雾霾所获取的情况;如果将在雾霾环境下拍摄的照片看作是一种图像本来的面貌,那么去雾显然就是人们为了改善主观视觉质量而对图像所进行的一种增强。

暗通道的概念与意义

在绝大多数非天空的局部区域里,某些像素总会有至少一个颜色通道具有很低的值。换言之,该区域光强度的最小值是一个很小的数。下面给暗通道一个数学定义,对于任意的输入图像J,其暗通道可以用下式表达:

Jdark(x)=miny∈Ω(x)[minc∈(r,g,b)Jc(y)]

J^{dark}(x)=min_{y\in\Omega\left(x\right)}\left[min_{c\in\left(r,g,b\right)}J^c(y)\right]
式中的 JcJ^c表示彩色图像的每个通道, Ω(x)\Omega\left(x\right)表示以像素x为中心的一个窗口。上式的意义用代码表达也很简单,首先求出每个像素RGB分量中的最小值,存入一幅和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波,滤波的半径由窗口大小决定,一般有WIndowSize=2*Radius+1。

暗通道的先验的理论指出:
Jdark→0J^{dark}\rightarrow0
实际生活中造成暗原色中低通道值的因素有很多。例如,汽车、建筑物和城市中玻璃窗户的阴影,或者是树叶、树与岩石等自然景观的投影;色彩鲜艳的物体表面,在RGB的三个通道中有些通道的值很低(绿色的草地、树木等植物,红色或黄色的花朵、果实或者叶子,或者蓝色、绿色的水面);颜色较暗的物体或者表面,例如灰暗色的树干、石头以及路面。总之,自然景物中到处都是阴影或者彩色,这些景物图像的暗原色总是表现出较为灰暗的状态。

没有雾的正常图片暗通道的普遍性质。

有雾图像的暗通道。

上述暗通道图像均使用的窗口大小为15x15,即最小值滤波的半径为7像素。

暗通道去雾霾的原理

首先,在计算机视觉和计算机图形中,下述方程所描述的雾图形成模型被广泛使用:

I(x)=J(x)t(x)+A[1−t(x)]

I(x)=J(x)t(x)+A[1-t(x)]
其中, I(x)I(x)为待去雾的图像, J(x)J(x)是要恢复的无雾的图像,参数A是全球大气光成分, t(x)t(x)为透射率。现在已知的条件是 I(x)I(x),要求目标值 J(x)J(x)。根据基本的代数知识可知这是一个有无数解的方程。只有在一些先验信息基础上才能求出定解。

将上式稍作变形为:

Ic(x)Ac=t(x)Jc(x)Ac+1−t(x)

\frac{I^c(x)}{A^c}=t(x)\frac{J^c(x)}{A^c}+1-t(x)
如上所述,上标 cc表示RR、 GG、BB三个通道的意思。

首先,假设在每个窗口内透射率t(x)t(x)为常数,将其定义为t~(x)\tilde{t}(x),并且A值已经给定,然后对上式两边求两次最小值运算,得到下式:

miny∈Ω(x)[mincIc(y)Ac]=t~miny∈Ω(x)[mincJc(y)Ac]+1−t~(x)

\underset{y\in\Omega(x)}{min}[\underset{c}{min}\frac{I^c(y)}{A^c}]=\tilde{t}\underset{y\in\Omega(x)}{min}[\underset{c}{min}\frac{J^c(y)}{A^c}]+1-\tilde{t}(x)
上式中 JJ是待求的无雾的图像,根据前述的暗原色先验理论有:

Jdark(x)=miny∈Ω(x)[mincJc(y)]=0

J^{dark}(x)=\underset{y\in\Omega(x)}{min}[\underset{c}{min}J^c(y)]=0
因此,可以推导出:

miny∈Ω(x)[mincJc(y)Ac]=0

\underset{y\in\Omega(x)}{min}[\underset{c}{min}\frac{J^c(y)}{A^c}]=0
把上式的结论带回原式中,得到:

t~(x)=1−miny∈Ω(x)[mincIc(y)Ac]

\tilde{t}(x)=1-\underset{y\in\Omega(x)}{min}[\underset{c}{min}\frac{I^c(y)}{A^c}]
这就是透射率 t~(x)\tilde{t}(x)的预估值。

现实生活中,即使是晴天白云,空气中也存在着一些颗粒,因此,看远处的物体还是能感觉到雾的影响。此外,雾的存在让人类感到景深的存在,因此在去雾的时候保留一定程度的雾。可以通过在上式中引入一个在[0,1][0,1]之间的因子来实现(例如0.95),则上式修正为:

t~(x)=1−ωminy∈Ω(x)[mincIc(y)Ac]

\tilde{t}(x)=1-\omega\underset{y\in\Omega(x)}{min}[\underset{c}{min}\frac{I^c(y)}{A^c}]

上述推论中都是假设全球大气光AA值是已知的,在实际中,可以通过暗通道图像来从有雾图像中获取该值。具体步骤大致为:首先从暗通道图像中按照亮度的大小提取最亮的前0.1%像素。然后,在原始有雾图像II中寻找对应位置上的具有最高亮度的点的值,并以此作为AA的值,至此,可以进行无雾图像的恢复了。

考虑到当前透射图像tt的值很小的时候,会导致JJ的值会偏大,从而使图像整体向白场过度,因此,一般可以设置一个 阈值t0t_0,当tt值小于t0t_0时,令t=t0t=t_0(例如t0=0.1t_0=0.1)。因此,由第一个公式知,最终的图像恢复公式如下:

J(x)=I(x)−Amax[t(x),t0]+A

J(x)=\frac{I(x)-A}{max[t(x),t_0]}+A

基于上述公式对图像进行去雾处理,所得结果如下所示:左上图为原始图像,右上图为暗通道图像,左下图为透射图(t~(x)\tilde{t}(x)),右下图经过去雾处理后的结果图像。

结果图中绿色植物(对应于暗通道图中颜色较深的部分)的边缘部分周围明显有不协调的地方,似乎这些部分没有进行去雾处理,这些都是由于之前求得的透射率图过于粗糙的原因导致的。

导向滤波求透射率图像

获取精细的透射率图,有soft matting方法,但是该算法速度特别慢,在实际应用中具有很大的局限性。导向滤波的方式获取透射图像,该方法主要过程集中于简单的盒子滤波,盒子滤波有相应的快速方法。
导向滤波后的去雾效果如下图所示,其中左图是精细化处理后的透射图,右图为最终去雾效果:

现在结果已经比较细腻了,但是显然图像有些暗,通过对暗的图像加曝光和自动色阶,从而得到完美的去雾图像。

算法的不足之处

如果待处理图像中包含有大面积的天空,那么算法对图像中天空部分处理效果一般都不好。

参考资料

暗通道优先的图像去雾算法(上)
暗通道优先的图像去雾算法(下)

《暗通道优先的图像去雾算法》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 计算机网络——知识结构体系
  2. mvc control 请求两次问题
  3. js文件里获取路由 vue_「如何优雅的使用Vue?」不可不知的Vue实战技巧
  4. Windows保护模式学习笔记(十三)—— PWTPCD
  5. .NET Core开源组件:后台任务利器之Hangfire
  6. 注解形式控制器配置(5) 数据绑定2
  7. B-数,B+树,B*树简单定义
  8. 在oracle 12c上如何禁用haip,以及打开haip,以及对haip的理解
  9. 华为手机桌面计算机消失怎么办,华为手机桌面所以图标不见了怎么办
  10. 将axf 文件转换为bin文件
  11. linux删文件,捋一捋
  12. 使用DoraCloud在Proxmox虚拟化平台搭建桌面云
  13. 微信小程序怎么制作自己的程序呢?简单明了的步骤分享
  14. 安卓Apk下载以及静默安装
  15. 关于连接池、JDBC、DBUtils的一些知识
  16. 研发人员的特质_9个有效开发人员的人格特质
  17. 阿里妈妈不能攻百度也不能守淘宝 !
  18. 基于java的学生宿舍管理系统(含源文件)
  19. c语言有哪些系统函数,C语言常用系统函数.doc
  20. 做学问的三种境界(王国维)和八种境界(梁漱溟)

热门文章

  1. 基于Python的学生求职招聘系统Django企业招聘系统(源码调试+讲解+文档)
  2. logstash的mutate过滤器的使用
  3. C语言计算线性方程组
  4. java根据业务排序利用Comparator.comparing自定义排序规则
  5. Nodejs使用ffi调用so库
  6. 久贺谷亮《高效休息法》读书笔记
  7. 国土防线2计算机内存不足,国土防线2革命配置要求高吗?PC配置要求介绍
  8. flac转换成mp3,flac转mp3方法
  9. 地理信息三维可视化技术在城市规划中的应用
  10. 捷多邦6层板阻抗及压合设计