由于大气散色所用引起的光源的特性。随着距离的增大而增强。
A其实为无穷远处的一个大气光源,比如天空,这应该不是指天空中的云而是近地天空。
由于各种去雾算法不同对A的依赖可能也不相同。
我看到有几种方法对在去雾算法中应用,去估算A值。
1.基于物理模型的快速单幅图像去雾方法 禹 晶 李大鹏 廖庆敏
中提到的算法:
寻找天空并估计天空亮度。首先是天空特征:天空区域具有 3 个特性: 1) 亮度较
高; 2) 灰度平坦; 3) 位置偏上.
首先, 对彩色图像的最小颜色分量进行最小值
滤波, 也称为灰度腐蚀操作, 可表示为
式中, c 2 fR; G; Bg 分别表示 R、 G、 B 颜色通道; (x) 表示以像素 x 为中心的邻域, 其尺寸自适应地
与图像宽和高中的最小值成比例, 本文中取 0.025.然后, 采用 Canny 算子对彩色图像的灰度分量进行
边缘检测, 对边缘图像进行分块统计, 计算各图像块中边缘像素数所占的比例, 记为 Nedge( x). 同时
满足 Imin( x) > Tv 且 Nedge( x) < Tp 的像素集合指定为候选天空区域. 本文设定亮度阈值 Tv 为 Imin( x)
中最大值的 95 %, 平坦阈值 Tp 为 0.001. 图 2 (a) 为一幅雾天拍摄的图像, 在图 2 (b) 中候选天空区域用
青色标识.最后, 对候选天空区域标记连通分量. 利用天空区域位置的先验信息, 选取图像上方的一个连通分
量作为天空区域. 在原图像的对应区域中, 将最大像素值确定为天空亮度 A 的估计值。
个人认为算法复杂耗时较多。尤其是canny边缘检测及后面的计算天空区域的联通分量。
2.基于单幅图像的快速去雾算法
由于max(Mave(x))<A<max(max(H(x)))
其中Mave(x)=average(M(x)),M(x)=min(H(x))
H(x)为rgb各通道的值。
所以A可以表示为下式
A=e*max(maxH(x))+(1-e)max(Mave(x))
为了方便作者在这里取了e为0.5,可能是经验值,或者胡乱选择的。
这种方法既避免了直接选取输入图像中最亮点的灰度值作为大气光值的不合理,又兼顾了算法的快速性。
3.Optimized contrast enhancement for real-time image and video dehazing
A一般会用image里最亮的color来估计。但是如果有些物体本身比A亮会导致A的估计错误。
这里提供一种基于quad-tree subdivision 的方法。首先将输入图像四分,计算均值减去一个块内的标准值。
比较这个大小。选取结果最大的一个块,继续4分。知道分到一个事先定好的大小。
选取color vector 到 点(255,255,255)最小的值。作为A的估计值。
区间大小的选择应该需要比蓝天大,但是具体的选择大小可能需要在多附图中验证。
4.Fast Haze Remova Algorithm for Surveillance Video & .Single image haze removal using dark channel prior
上面两片文章用的方法是一样的。也是最简单的。方法如下
For universal usage consideration, dark
channel is used to estimateAin our previous dehazing algorithm [9]. We first pick
the top 0.1% brightest pixels in the dark channel.
采用从暗通道图中按照亮度的大小取前0.1%的像素作为A
个人认为从速度上 4 和2算法较快但不一定准确3的算法速度回慢一些但会比较准确,1的算法最慢而且实现复杂。本文就实现以下比较后面三个文章的A计算值 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)