本发明涉及图像处理技术领域,具体来讲,涉及一种基于暗原色先验模型的混合滤波图像去雾算法。
背景技术:
越来越多的城市逐渐步入雾霾大都市,给人们的生产和生活带来了严重的影响,被视作自然灾害之一。在雾天环境下由于受到大气散射的影响,成像系统所获得图像的能见度和对比度相对较低。即雾霾会给户外监控、导航及检测带来极大影响,造成图像质量急剧下降。因此,减弱或消除雾霾对图像的不利影响,对带雾图像进行去雾,实现图像的高清晰化,具有非常重要的理论和现实意义。
对雾天图像进行去雾处理是计算机视觉领域中的重要问题与研究热点,具有广阔的应用前景。现有的算法和退化模型在描述图像降质的根本原因和应用于特定场景中时均存在不尽如人意之处,视觉改善的效果仍有较大的提升空间。因此,研究如何对雾天图像进行有效处理,仍具有重要的研究意义。
技术实现要素:
针对目前图像去雾算法存在的不足,本发明提出一种基于暗原色先验模型的混合滤波图像去雾算法。包括以下几个步骤:
步骤s1:利用小波分析对图片进行边缘检测,将天空区域从图片中抠除;
步骤s2:对图像进行分块处理,分别计算各区域的大气光强度a;
步骤s3:求出有雾降质图像p的暗原色图pdark(x);
其中pdark(x)为雾图的暗原色图像,pc(y)为1个颜色通道的亮度值,ω(x)为对应户外无雾图像中至少1个颜色通道强度值很低的假定区域;
步骤s4:对暗原色图像进行最大值滤波,其公式为:
其中ω为系数,0<ω≤1;
步骤s5:利用最小滤波估算透射率矩阵的下限值t0,其公式为:
其中,rmin为将不同带雾图像选择修复后暗原色图像
步骤s6:采用指导滤波修复透射率矩阵t(x);
步骤s6.1:将t(x)作为指导滤波的指导图像,用它求解修复后的透射率矩阵trefine(x)。假设在一个以点i为中心的窗口ωi(ωi的大小为ω×ω)内,滤波后的trefine(x)与指导图像t(x)存在线性关系,即:
trefine(x)=akt(x)+bk,
步骤s6.2:利用大气散射模型得到复原图像i:
p(x)=i(x)t(x)+a(1-t(x)),
步骤s7:进一步加强图像增强,采用小波变换进行图像滤波。即:th=max(i),其中th表示阈值,i表示修复后去雾图像的低频区域,构造以下去雾阈值函数对小波变换后的系数进行修正,以达到图像增强的目的:
其中,c(i)为小波系数,cth(i)是阈值改造后的系数,a为增益因子,
将步骤6.2中求得的复原图像i代入,得到最终的去雾图像。
本发明有效解决了由于图像边缘估值失真导致的重建后去雾图像存在景深边缘处白色晕块和斑状奇异点问题,以及带雾图像不同景深、景深边缘透射率的误差修复问题。
附图说明
图1为去雾算法流程图。
图2是实施例所述本算法去雾图像效果对比。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于暗原色先验模型的混合滤波图像去雾算法,其步骤如下:
步骤s1:利用小波分析对图片进行边缘检测,将天空区域从图片中抠除;
步骤s2:对图像进行分块处理,分别计算各区域的大气光强度a;
步骤s3:求出有雾降质图像p的暗原色图pdark(x);
其中pdark(x)为雾图的暗原色图像,pc(y)为1个颜色通道的亮度值,ω(x)为对应户外无雾图像中至少1个颜色通道强度值很低的假定区域。
步骤s4:对暗原色图像进行最大值滤波,求出透射率矩阵,
步骤s4.1:由于图像中存在大量被低估的暗像素点,为了修复图像边界处的暗原色,对暗原色图像进行最大值滤波;
步骤s4.2:利用雾天成像模型计算透射率矩阵,即:p(x)=i(x)t(x)+a(1-t(x));式中x为空间坐标,p(x)表示有雾图像,a为大气光成分的强度,i(x)表示同一环境、同一场景下的理想无雾图像,t(x)为大气光线透射率矩阵。
步骤s4.3:由于无雾图像的暗原色图像像素值接近于0,可以推出:
步骤s4.4:a的估值方法:从修复后的暗原色图像中选取每片区域中亮度值较大的前0.1%的像素点,在原始带雾图像中的对应像素点位置分别计算3通道的平均值,并以最小平均值作为a的估计值。
步骤s5:由于由步骤s4.3求出的透射率矩阵t(x)存在估值的偏低点,部分去雾后的图像边缘存在奇异点。
步骤s5.1:因此我们利用最小值滤波估算透射率矩阵的下限值t0,其公式为:
步骤s5.2:由大气散射模型,p(x)=i(x)t(x)+a(1-t(x)),式中x为空间坐标,p(x)表示有雾图像,a为大气光成分的强度,i(x)表示同一环境、同一场景下的理想无雾图像,t(x)为大气光线透射率矩阵,求得复原图像i(x):
i(x)是在暗原色先验模型基础上进行最大值、最小值滤波后得到的去雾图像。
步骤s6:采用指导滤波修复透射率矩阵t(x);
步骤s6.1:由于经过最大、最小值滤波处理后的初步图像在景深边缘处存在白色晕块和斑状奇异点,采用指导滤波修复透射率矩阵t(x),将t(x)作为指导滤波的指导图像,用它求解修复后的透射率矩阵trefine(x),假设在一个以点i为中心的窗口ωi(ωi的大小为ω×ω)内,滤波后的trefine(x)与指导图像t(x)存在线性关系,即:trefine(x)=akt(x)+bk,
步骤s6.2:利用大气散射模型得到复原图像i:p(x)=i(x)t(x)+a(1-t(x)),
步骤s7:进一步加强图像增强,采用小波变换进行图像滤波。由于分解后的图像信息主要分布在小波域的高频区域,而图像能量与雾气主要分布在低频区域,因此本算法对图像的低频区域做图像滤波。即:th=max(i),其中th表示阈值,i表示修复后去雾图像的低频区域,构造以下去雾阈值函数对小波变换后的系数进行修正,以达到图像增强的目的:
其中,c(i)为小波系数,cth(i)是阈值改造后的系数,a为增益因子,
将步骤6.2中求得的复原图像i代入,得到最终的去雾图像。
本算法有效解决了由于图像边缘估值失真导致的重建后去雾图像存在景深边缘处白色晕块和斑状奇异点的问题,以及带雾图像不同景深、景深边缘透射率的误差修复问题。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。