本发明属于图像增强技术,具体为一种低照度彩色图像实时增强方法及系统。
背景技术:
在夜间环境中,光照不足、光源单一,导致一般的图像采集设备获取的图像普遍存在图像模糊不清、亮度太低、对比度不足、物体细节信息丢失严重和色彩失真等现象,从图像中能获得的信息十分有限,给很多应用带来困难。比如行车记录仪、夜间气象监测和无人驾驶夜间行车系统等无法正常发挥作用。因此,研究在边缘侧快速的得到夜间的清晰的图像成为越来越重要的课题,各国人员也都展开了相应的研究,这些方法主要分为以下几类:
1.直方图均衡化:因为低照度图像灰度直方图分布主要集中在灰度值较低的区域,直方图均衡化就是将原始低照度图像进行非线性拉伸,使得图像的灰度直方图分布均匀,扩大图像灰度值的范围,提高图像对比度,从而达到低照度图像增强的目的。但是该方法经常会出现因对比度增强过小或者过大使图像增强不自然,而且对于像素较少的灰度级会被合并,从而使增强的图像丢失一些细节甚至造成图像失真。
2.图像同态滤波增晰算法:同态滤波算法把图像分为照射图像和反射图像,照射分量对应低频部分,也即图像细节部分,反射分量对应高频部分,也即图像边缘部分。对低频成分进行压制,这样就降低了图像的动态范围;而对高频部分进行提高,这样就增加了对比度,但是这种方法对于低照度图像的视觉效果不佳,会出现图像细节丢失,图像失真。
3.基于retinex模型的增强算法:该算法可以增强对比度增强,压缩动态范围,并具有较好的色彩恒常性,但是会放大图像噪声、出现光晕伪影,而且在图像特别暗的地方会出现“马赛克”现象,且算法繁琐。
4.暗通道去雾理论算法:该类方法能够达到较好的图像增强效果,不易引入噪声,具有较好的色彩恒常性,但是用这种方法增强的图像由于不易控制去雾理论中参数大小,可能会出现图像增强不当的情况,也会出现颜色失真和人工处理痕迹明显的情况,采用软抠图的方法优化透射率时,计算量大、时间复杂度高。
综上,现有的低照度图像增强算法在增强图像的同时会使增强的图像出现颜色失真、光晕、对比度过分增强等情况,而且部分算法耗时严重,编程麻烦,且算法不具有实时性。有鉴于此,有必要对上述的图像增强方法进行进一步的改进。
技术实现要素:
本发明的目的在于提出了一种低照度彩色图像实时增强方法。
实现本发明的技术解决方案为:一种低照度彩色图像实时增强方法,具体步骤为:
s1:对低照度图像进行灰度反转,将低照度图像灰度值映射到有雾图像灰度区间,得到雾化图像;
s2:将雾化图像转换至ycbcr色彩空间,得到雾化图像的亮度图;
s3:将亮度图分别输入不同大小的最小值滤波器滤波,得到粗略和精细两个暗通道图像;使用最大值滤波器根据亮度图确定大气光值;
s4:对亮度图进行边缘检测,制作掩膜;使用掩膜和暗通道图像合成最终的暗通道图像;
s5:根据暗通道先验算法求取透射率图;对有雾图像进行去雾操作,还原出无雾图像;对去雾后图像进行反变换恢复出低照度图像增强后的图像。
优选地,对低照度图像进行灰度反转的具体公式为:
其中,ic(x)为原始低照度图像,c表示图像的rgb三个颜色通道,
优选地,雾化图像转换至ycbcr色彩空间的表达式为:
y=0.3r′ 0.6g′ 0.1b′
其中,r′、g′、b′为雾化图像的三个颜色通道,y为雾化图像的亮度图。
优选地,使用的最小值滤波表达式为:
其中,ω(x)表示图像中x点的邻域,i(y)表示图像中的一个像素点的任意一个颜色通道值,idark表示图像的暗通道。
优选地,最大值滤波器获取大气光值的具体方法为:
对亮度图进行灰度分布统计;
取像素点数目多于设定阈值的最大灰度级作为大气光值。
优选地,最终的暗通道图像合成表达式为:
其中,idark(x)表示最终的暗通道图像,bwmask表示生成的掩膜,
优选地,透射率求取表达式为:
其中,t(x)为透射率,a为大气光值,ω为常量,idark(x)表示最终的暗通道图像。
优选地,对雾化图像去雾的表达式为:
其中,jc(x)为无雾图像,ic(x)为原始低照度图像,t(x)为透射率,t0为透射率校正因子。
本发明还提出了一种一种低照度彩色图像实时增强系统,包括:
图像反转模块,用于对低照度图像进行雾化操作;
rgb转ycbcr模块,用于将雾后化的图像从rgb彩色空间转换至ycbcr色彩空间,获取图像的亮度图;
最大/最小值滤波模块,用于获得大气光值和粗略、精细暗通道图;
暗通道图像合成模块,用于根据亮度图制作掩膜,根据掩膜将粗略和精细两个暗通道图合成彩色自然的暗通道图;
去雾模块,用于根据暗通道图计算出图像透射率,并按照暗通道先验原理去雾。
本发明与现有技术相比,其显著优点为:本发明基于暗通道先验去雾理论,特别将图像内边缘区域和背景区域分开处理,通过制作掩膜在得到更加准确的背景暗通道图像的同时,保留更多的边缘细节;本发明即能够保持增强过后的图像颜色自然,图像不会失真的特点,而且还避免了该类算法容易在明暗交替区域出现光晕效应,人工处理痕迹明显,算法复杂度高的缺点;本发明不会出现增强图像对比度失衡,图像增强过度,颜色失真,边界明暗交替区域光晕效应明显等情况,而且本发明简单,易于编程实现,算法耗时少,具有实时性。
下面结合附图对本发明做进一步详细的描述。
附图说明
图1是一种低照度彩色图像实时增强方法的流程图。
图2是一种低照度彩色图像实时增强系统的结构图。
图3是n×n滤波模板生成方法说明图。
图4是最大值滤波比较器工作说明图。
图5是sobel边缘检测算子说明图。
图6是3×3像素矩阵区域。
具体实施方式
下面结合附图,通过实际案例进一步描述本发明,但不以任何方式限制发明的范围。
如图1所示,一种低照度彩色图像实时增强方法,在fpga中实现,输入视频流分辨率为1920×1080,帧率为30hz,像素数据位宽为8位,具体步骤为:
s1:对低照度图像i(x)进行灰度反转,将低照度图像灰度值映射到有雾图像灰度区间,得到雾化的图像,所述低照度图像为环境照度为10-1lx量级及以下所获得的图像;
低照度图像的像素位宽为8位,取值范围为0-255,灰度反转表达式为:
其中,ic(x)为原始低照度图像,c表示图像的rgb三个颜色通道,翻转后的三个雾化颜色通道图像为r′、g′、b′,
s2:将雾化后的低照度r′、g′、b′彩色雾化图像
彩色雾化图像
y=0.3r′ 0.6g′ 0.1b′
其中,r′、g′、b′为雾化图像的三个颜色通道,y为雾化图像的亮度图;
s3:对亮度图分别使用不同大小的最小值滤波器滤波,得到粗略和精细两个暗通道图像;使用最大值滤波器根据亮度图确定大气光值;
进一步的实施例中,使用的最小值滤波表达式为:
其中,ω(x)表示图像中x点的邻域,i(y)表示图像中的一个像素点的任意一个颜色通道值,idark表示图像的暗通道;ω(x)值一般取n2,n为正整数,n的值越大暗通道值越接近于0,得到的暗通道图越准确,但是消耗的计算资源和时间复杂度越高。
进一步的实施例中,大气光值求取方法为:
对亮度图进行灰度分布统计;
取像素点数目多于200个的最大灰度级作为大气光值。
s4:对亮度图进行边缘检测,制作掩膜;使用掩膜和暗通道图像合成最终的暗通道图像;
进一步的实施例中,使用sobel算子检测图像梯度变化较大的区域,梯度计算公式为:
其中,gx、gy分别为水平和垂直两个方向上的梯度,zi,i∈[1,9]为像素矩阵内的像素点,如图6所示。
进一步的实施例中,求取梯度的模m(x,y)≈|gx| |gy|,得到梯度的模后可根据大津法获得二值化阈值,若m(x,y)的值高于该阈值,则二值化为1,否则为0,所获得的二值化图像即为掩膜bwmask。
进一步的实施例中,暗通道图像合成表达式为:
其中idark(x)表示图像的暗通道;
bwmask表示生成的掩膜;
s5:根据暗通道先验算法求取透射率图;对有雾图像进行去雾操作,还原出无雾图像;对去雾后图像进行反变换恢复出低照度图像增强后的图像。
进一步的实施例中,透射率求取表达式为:
其中t(x)为透射率,a为大气光值,ω为为了保留一定的景深效果保持场景的层次感和真实感,避免图像过度增强所引入常量,一般取0.95。
对雾化图像去雾的表达式为:
其中,jc(x)为无雾图像,t0限制透射率图中一些非常接近于0的点的下限,避免引入噪声,本发明取0.1。
对去雾后图像进行反变换恢复出低照度图像增强后图像的表达式为:
ec(x)=255-jc(x)
其中,ec(x)为低照度图像增强的后图像。
如图2所示,一种低照度彩色图像实时增强系统,包括:
图像反转模块,用于对低照度图像进行雾化操作;
rgb转ycbcr模块,用于将雾后化的图像从rgb彩色空间转换至ycbcr色彩空间,获取图像的亮度图;
最大/最小值滤波模块,用于获得大气光值和粗略、精细暗通道图;
暗通道图像合成模块,用于根据亮度图制作掩膜,根据掩膜将粗略和精细两个暗通道图合成彩色自然的暗通道图;
去雾模块,用于根据暗通道图计算出图像透射率,并按照暗通道先验原理去雾。
进一步的实施例中,所述图像反转模块对输入图像进行灰度反转得到雾化图像,灰度反转公式为:
式中,
进一步的实施例中,所述rgb转ycbcr模块获取图像的亮度图的具体公式为:
y=0.3r′ 0.6g′ 0.1b′
式中,r′、g′、b′为雾化后的图像的三个颜色通道,y为雾化图像的亮度图。
进一步的实施例中,所述最大/最小值滤波模块包括3×3和7×7的最小值滤波器,其中3×3和7×7最小值滤波器是指寻找以待处理像素为中心,直径为3和直径为7的像素矩阵内的最小值,分别获取粗略和精细两个暗通道图像;最大值滤波器用于获取像素矩阵内的最大值。
具体地,最小值滤波表达式为:
其中ω(x)表示图像中x点的邻域,i(y)表示图像中的一个像素点的任意一个颜色通道值,idark表示图像的暗通道;某些实施例中,ω(x)值取n×n,即最小值滤波器的大小,n为正整数;
具体地,最大值滤波器获取大气光值的具体方法为:
对亮度图进行灰度分布统计;
取像素点数目多于设定阈值的最大灰度级作为大气光值;在某些实施例中,设定的阈值为200个。
进一步的实施例中,暗通道图像合成模块根据亮度图制作掩膜的具体过程为:求取亮度图像的梯度,使用图5所示sobel算子检测图像梯度变化较大的区域,梯度计算公式为:
其中,gx、gy分别为水平和垂直两个方向上的梯度,zi,i∈[1,9]为像素矩阵内的像素点,如图6所示。
得到梯度后求取梯度的模m(x,y)≈|gx| |gy|,可根据大津法获得二值化阈值,若m(x,y)的值高于该阈值,则二值化为1,否则为0,所获得的二值化图像即为掩膜bwmask。
根据掩膜将粗略和精细两个暗通道图合成彩色自然的暗通道图的具体方法为:
利用掩膜bwmask进行暗通道合成,表达式为:
其中,idark(x)表示图像的暗通道;
bwmask表示生成的掩膜;
进一步的实施例中,去雾模块的具体工作过程为:
根据当前帧的暗通道图和上一帧得到的大气光值确定图像透射率,具体公式为:
其中,t(x)为透射率,a为大气光值,ω为为了保留一定的景深效果保持场景的层次感和真实感,避免图像过度增强所引入的常量,一般取0.95,idark(x)表示图像的暗通道;
根据当前帧得到的透射率t(x)、当前帧的雾化图像
其中,jc(x)为无雾图像,t0为限制透射率图中一些非常接近于0的点的下限,避免引入噪声,本发明中取0.1;
对去雾图像进行反变换,获得增强后图像,具体公式为:
ec(x)=255-jc(x)
其中,ec(x)为增强后图像。
综上所述,针对夜间图像存在质量下降、细节丢失等问题,本发明对低照度彩色图像实时增强方法进行了实现。首先,根据夜间图像与雾天图像存在对称相似的特性,基于暗通道先验去雾理论实现了低照度图像增强;其次,针对之前算法计算量大而且增强结果出现光晕伪影等不足,直接使用边缘检测区分边缘部分和背景部分,制作掩膜合成暗通道图,避免了原算法先利用同一种最小值滤波模板得到暗通道图求取粗糙的透射率图,再使用导向滤波的方式进行优化的方法,这样可以大大减少计算量,方法简单而且实时性高,可以极大地提升低照度图像的清晰度,并避免得到的增强图像存在光晕伪影、颜色失真、产生大量噪声和人工修复痕迹明显等现象。整体更加符合人眼的视觉特征,适用性强、鲁棒性高。
本发明不会出现图像增强不当、颜色失真和人工处理痕迹明显的现象,并且算法具有较好的实时性和通用性。
1.一种低照度彩色图像实时增强方法,其特征在于,具体步骤为:
s1:对低照度图像进行灰度反转,将低照度图像灰度值映射到有雾图像灰度区间,得到雾化图像;
s2:将雾化图像转换至ycbcr色彩空间,得到雾化图像的亮度图;
s3:将亮度图分别输入不同大小的最小值滤波器滤波,得到粗略和精细两个暗通道图像;使用最大值滤波器根据亮度图确定大气光值;
s4:对亮度图进行边缘检测,制作掩膜;使用掩膜和暗通道图像合成最终的暗通道图像;
s5:根据暗通道先验算法求取透射率图;对有雾图像进行去雾操作,还原出无雾图像;对去雾后图像进行反变换恢复出低照度图像增强后的图像。
2.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,对低照度图像进行灰度反转的具体公式为:
其中,ic(x)为原始低照度图像,c表示图像的rgb三个颜色通道,
3.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,雾化图像转换至ycbcr色彩空间的表达式为:
y=0.3r′ 0.6g′ 0.1b′
其中,r′、g′、b′为雾化图像的三个颜色通道,y为雾化图像的亮度图。
4.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,使用的最小值滤波表达式为:
其中,ω(x)表示图像中x点的邻域,i(y)表示图像中的一个像素点的任意一个颜色通道值,idark表示图像的暗通道。
5.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,最大值滤波器获取大气光值的具体方法为:
对亮度图进行灰度分布统计;
取像素点数目多于设定阈值的最大灰度级作为大气光值。
6.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,最终的暗通道图像合成表达式为:
其中,idark(x)表示最终的暗通道图像,bwmask表示生成的掩膜,
7.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,透射率求取表达式为:
其中,t(x)为透射率,a为大气光值,ω为常量,idark(x)表示最终的暗通道图像。
8.根据权利要求1所述的低照度彩色图像实时增强方法,其特征在于,对雾化图像去雾的表达式为:
其中,jc(x)为无雾图像,ic(x)为原始低照度图像,t(x)为透射率,t0为透射率校正因子。
9.基于权利要求1~8任一所述的方法的系统,其特征在于,包括:
图像反转模块,用于对低照度图像进行雾化操作;
rgb转ycbcr模块,用于将雾后化的图像从rgb彩色空间转换至ycbcr色彩空间,获取图像的亮度图;
最大/最小值滤波模块,用于获得大气光值和粗略、精细暗通道图;
暗通道图像合成模块,用于根据亮度图制作掩膜,根据掩膜将粗略和精细两个暗通道图合成彩色自然的暗通道图;
去雾模块,用于根据暗通道图计算出图像透射率,并按照暗通道先验原理去雾。
技术总结