CN105354806B - 基于暗通道的快速去雾方法及系统 - Google Patents
基于暗通道的快速去雾方法及系统 Download PDFInfo
- Publication number
- CN105354806B CN105354806B CN201510812718.5A CN201510812718A CN105354806B CN 105354806 B CN105354806 B CN 105354806B CN 201510812718 A CN201510812718 A CN 201510812718A CN 105354806 B CN105354806 B CN 105354806B
- Authority
- CN
- China
- Prior art keywords
- value
- pixel
- nchannel
- mrow
- dark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供基于暗通道的快速去雾方法及系统,通过计算待去雾图像各个像素点的暗通道像素值,计算全球大气光强度值;计算透射率,包括:利用所计算暗通道计算粗投射率;以降采样后的待去雾图像的灰度图像为导向图像计算得到精细透射率;建立映射表,所述映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,根据所述映射表计算去雾图像;本发明的技术方案以暗原色去雾算法为基础,对其在实际工程应用中的编程过程进行优化,缩短了去雾算法的时间,使其能基本满足视频中实时的要求。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及基于暗通道的快速去雾方法及系统。
背景技术
户外视觉系统已广泛应用于多个领域,如安防监控领域、公路交通监控领域、军事探测领域等,户外景物的图像通常会受到空气中颗粒物的影响导致画面品质大大下降。在有雾天气时,空气中弥漫着大量的小水滴和各种杂质的混合颗粒物。这些颗粒物尤其是半径较大的小水滴对光有较强的散射作用,而散射效应随着距离的增加呈指数形式增长。因此雾天时能见度比较低。如果在这种条件下采集图像数据,那么目标物反射出的光线受到周围大气中小水滴、杂质等颗粒物的散射、吸收、折射等光学作用,使得相机等的感光装置接收到的光线强度不同程度的变弱,最终导致拍摄的图像质量下降,图像对比度小,图中景物模糊不清晰。降质的图像使得其应用价值也大大下降,例如公路交通监控中无法看清汽车的车牌、无法准确计算车流量等,这给户外视觉系统的后续处理带来很大困难,甚至无法使用。因此,图像去雾技术有着重要的研究价值。
目前,数字图像去雾的方法主要分为两类:一类是采用图像增强的方法。该类方法是采用某种技术手段比如直方图均衡化,来增强图像中所需要的某些信息,同时削弱某些不需要的信息,而不需要考虑图像降质的原因。另一类是基于大气散射物理模型的方法。该类方法是根据图像降质的物理成因,通过建立大气散射作用的物理模型,将图像恢复到降质前的样子。
暗原色去雾算法以暗原色先验理论为基础,结合雾成像物理模型和软抠图方法来计算去雾图像。该方法可以得到高质量的去雾效果,但计算量大,运算时间长。目前已经有很多人对该算法进行优化,其中一个比较重大的优化是由软抠图计算透射率图改为由导向滤波计算透射率图;优化后的算法虽然在时间和计算量上得到了大大的缩减,但是仍然不能满足实时的需求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供基于暗通道的快速去雾方法及系统,用于解决现有技术中暗原色去雾算法花费时间及计算量仍较多的问题。
为实现上述目的及其他相关目的,本发明提供一种基于暗通道的快速去雾方法,包括:计算待去雾图像各个像素点的暗通道像素值,包括:对待去雾图像[I(x,y)]m×n进行降采样处理;对降采样处理后的待去雾图像中每一行像素点以nchannel×r为滤波半径按预设计算规则进行最小值滤波,且对每一列像素点以r为滤波半径按所述预设计算规则进行最小值滤波;将通过对所述行、列各像素点的滤波得到的最小值赋给对应的暗通道像素值其中,nchannel为通道数,r为预设半径,x表示每行像素,y表示每列像素;m、n、及为行或列中像素点数目;计算全球大气光强度值;计算透射率,包括:利用所计算暗通道计算粗透射率;以降采样后的待去雾图像的灰度图像为导向图像,结合所述粗透射率且以R为滤波半径,采用导向滤波算法计算得到精细透射率,其中,R为r的预定倍数;建立映射表,所述映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,其中,所述第一参数值及第二参数值在预设取值范围内;根据所述映射表计算去雾图像,包括:将所述精细透射率放大到和初始待去雾图像相同大小;将所述精细透射率的取值范围转换为所述预设取值范围;将所述初始待去雾图像和精细透射率分别作为所述第一参数和第二参数,通过所述映射表来得到R、G、或B三通道的去雾图像。
于本发明的一实施例中,所述预设计算规则包括:对每一行或列像素点进行以下计算,其中,在行的情况下nchannel值为3,在列的情况下nchannel值为1:1)计算一行或列中以第一个像素点为开始的(nchannel×r×2+nchannel)个像素点中像素值的最小值MinValue,将该像素值赋给Jdark(x,r),并记录下最小值的位置坐标MinIndex;2)以步长为nchannel且起始坐标为(nchannel×r+nchannel)循环遍历每一行或列中的像素点;3)判断MinIndex与j-nchannel×r间大小关系,其中,j为当前所遍历的像素点的位置坐标;4)当MinIndex大于或等于J-nchannel×r时,分别比较MinValue与位置坐标为j+nchannel×r、j+nchannel×r+1和j+nchannel×r+2的像素点的像素值的大小,记录下其中的最小值和最小值对应像素点所在位置坐标,并将最小值赋给Jdark(x,j/nchannel);5)当MinIndex小于j-nchannel×r时,计算以坐标j-nchannel×r+1为开始的(nchannel×r×2+nchannel)个元素中的最小值MinValue及最小值位置坐标MinIndex,并将最小值赋给Jdark(x,j/nchannel)。
于本发明的一实施例中,所述粗透射率的计算公式为:其中,A是大气光强值,Jdark(x,y)表示暗通道像素值,ω为引入的一个[0,1]之间的值;所述精细透射率的计算公式为t(x,y)=guidedfilter(GI(x,y),tcu(x,y),R),其中,为的灰度图以作为导向图像,R=4×r。
于本发明的一实施例中,所述映射A是大气光强值,所述预设范围为[0,255],即i=0,1,...,255;j=0,1,...,255;所述去雾图像中各像素点的像素值的计算公式为:J(x,y,k)=MapTable(I(x,y,k),tD(x,y)),其中,x=0,1,...,m;y=0,1,...,n;k=0,1,2,k表示像素值分别在R、G或B通道的值的坐标,tD(x,y)表示将所述精细透射率放大到和初始待去雾图像相同大小的透射图。
于本发明的一实施例中,所述计算大气光强度值A,包括:设置一个大气光强度值阈值MaxAtomsLight,选取中各像素点的像素值中的最大值为大气光参考值A0,若A0小于或等于MaxAtomsLight,则A=A0;否则,A=MaxAtomsLight;表示为:
为实现上述目的及其他相关目的,本发明提供一种基于暗通道的快速去雾系统,包括:暗通道计算模块,用于计算待去雾图像各个像素点的暗通道像素值,包括:对待去雾图像[I(x,y)]m×n进行降采样处理;对降采样处理后的待去雾图像中每一行像素点以nchannel×r为滤波半径按预设计算规则进行最小值滤波,且对每一列像素点以r为滤波半径按所述预设计算规则进行最小值滤波;将通过对所述行、列各像素点的滤波得到的最小值赋给对应的暗通道像素值其中,nchannel为通道数,r为预设半径,x表示每行像素,y表示每列像素;m、n、及为行或列中像素点数目;大气光强度值计算模块,用于计算全球大气光强度值;透射率计算模块,用于计算透射率,包括:利用所计算暗通道计算粗透射率;以降采样后的待去雾图像的灰度图像为导向图像,结合所述粗透射率且以R为滤波半径,采用导向滤波算法计算得到精细透射率,其中,R为r的预定倍数;映射表建立模块,用于建立映射表,映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,其中,所述第一参数值及第二参数值在预设取值范围内;去雾图像计算模块,用于根据所述映射表计算去雾图像,包括:将所述精细透射率放大到和初始待去雾图像相同大小;将所述精细透射率的取值范围转换为所述预设取值范围;将所述初始待去雾图像和精细透射率分别作为所述第一参数和第二参数,通过所述映射表来得到R、G、或B三通道的去雾图像。
于本发明的一实施例中,所述预设计算规则包括:对每一行或列像素点进行以下计算,其中,在行的情况下nchannel值为3,在列的情况下nchannel值为1:1)计算一行或列中以第一个像素点为开始的(nchannel×r×2+nchannel)个像素点中像素值的最小值MinValue,将该像素值赋给Jdark(x,r),并记录下最小值的位置坐标MinIndex;2)以步长为nchannel且起始坐标为(nchannel×r+nchannel)循环遍历每一行或列中的像素点;3)判断MinIndex与j-nchannel×r间大小关系,其中,j为当前所遍历的像素点的位置坐标;4)当MinIndex大于或等于j-nchannel×r时,分别比较MinValue与位置坐标为j+nchannel×r、j+nchannel×r+1和j+nchannel×r+2的像素点的像素值的大小,记录下其中的最小值和最小值对应像素点所在位置坐标,并将最小值赋给Jdark(x,j/nchannel);5)当MinIndex小于j-nchannel×r时,计算以坐标j-nchannel×r+1为开始的(nchannel×r×2+nchannel)个元素中的最小值MinValue及最小值位置坐标MinIndex,并将最小值赋给Jdark(x,j/nchannel)。
于本发明的一实施例中,所述粗透射率的计算公式为:其中,A是大气光强值,Jdark(x,y)表示暗通道像素值,ω为引入的一个[0,1]之间的值;所述精细透射率的计算公式为t(x,y)=guidedfilter(GI(x,y),tcu(x,y),R),其中,为的灰度图以作为导向图像,R=4×r。
于本发明的一实施例中,所述映射A是大气光强值,所述预设范围为[0,255],即i=0,1,...,255;j=0,1,...,255;所述去雾图像中各像素点的像素值的计算公式为:J(x,y,k)=MapTable(I(x,y,k),tD(x,y)),其中,x=0,1,...,m;y=0,1,...,n;k=0,1,2,k表示像素值分别在R、G或B通道的值的坐标,tD(x,y)表示将所述精细透射率放大到和初始待去雾图像相同大小的透射图。
于本发明的一实施例中,所述大气光强度值计算模块的计算大气光强度值A,包括:设置一个大气光强度值阈值MaxAtomsLight,选取中各像素点的像素值中的最大值为大气光参考值A0,若A0小于或等于MaxAtomsLight,则A=A0;否则,A=MaxAtomsLight;表示为:
如上所述,本发明的基于暗通道的快速去雾方法及系统,以暗原色去雾算法为基础,对其在实际工程应用中的编程过程进行优化,缩短了去雾算法的时间,使其能基本满足视频中实时的要求。
附图像说明
图1显示为本发明于一实施例中的基于暗通道的快速去雾方法的流程示意图。
图2显示为本发明于一实施例中的基于暗通道的快速去雾系统的模块示意图。
元件标号说明
1 基于暗通道的快速去雾系统
11 暗通道计算模块
12 大气光强度值计算模块
13 透射率计算模块
14 映射表建立模块
15 去雾图像计算模块
S1~S5 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图像示仅以示意方式说明本发明的基本构想,遂图像式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的技术方案是基于暗原色先验理论,暗原色先验理论认为,在绝大多数的非天空的局部区域里,某些像素总会有至少一个颜色通道具有很低的值,用公式表示如下:
其中,J表示一幅无雾图像,Jc表示图像的一个通道,Ω(x)以x为中心的一个方形区域,Jdark表示与原图大小一样,但为单通道的暗通道图像。
有雾图像形成的物理模型为
I(x,y)=J(x,y)t(x,y)+A(1-t(x,y)) (2)
其中,I表示待去雾图像,J为我们要得到的无雾图像,A为全球大气光值,t为透射率。
为了计算无雾图像J,我们需要计算出A和t。首先根据待去雾图像计算A值,其次结合公式(1)和(2)推导出透射率的计算模型公式,
其中,ω为引入的一个[0,1]之间的值,本专利中取0.95。该值让我们在去雾过程中保留一定程度的雾,是为了符合现实中雾让我们产生的景深的感觉。
由公式(3)计算的透射率图为粗透射率,采用粗透射率计算的去雾图像其边界无法达到良好的去雾效果,为此采用导向滤波来计算精细透射率。
计算出A值和t后,将其代入公式(2)即可得到无雾图像J。
基于该原理,本发明进行了改进细化,以下结合附图进行具体说明:
请参阅图1,本发明提供本发明提供一种基于暗通道的快速去雾方法,包括:
步骤S1:计算待去雾图像各个像素点的暗通道像素值,包括:对待去雾图像[I(x,y)]m×n进行降采样处理;对降采样处理后的待去雾图像中每一行像素点以nchannel×r为滤波半径按预设计算规则进行最小值滤波,且对每一列像素点以r为滤波半径按所述预设计算规则进行最小值滤波;将通过对所述行、列各像素点的滤波得到的最小值赋给对应的暗通道像素值其中,nchannel为通道数,r为预设半径,x表示每行像素,y表示每列像素;m、n、及为行或列中像素点数目。
于本发明的一实施例中,首先,对待去雾图像表示为[I(x,y)]m×n进行降采样,降采样的值要适当,否则,降采样后节省的时间无法弥补缩放图像的时间损耗;设降采样后图像表示为
所述预设计算规则包括:对每一行或列像素点进行以下计算,其中,在行的情况下nchannel值为3,在列的情况下nchannel值为1:
1)计算一行或列中以第一个像素点为开始的(nchannel×r×2+nchannel)个像素点中像素值的最小值MinValue,将该像素值赋给Jdark(x,r),并记录下最小值的位置坐标MinIndex;
2)以步长为nchannel且起始坐标为(nchannel×r+nchannel)循环遍历每一行或列中的像素点;
3)判断MinIndex与j-nchannel×r间大小关系,其中,j为当前所遍历的像素点的位置坐标;
4)当MinIndex大于或等于j-nchannel×r时,分别比较MinValue与位置坐标为j+nchannel×r、j+nchannel×r+1和j+nchannel×r+2的像素点的像素值的大小,记录下其中的最小值和最小值对应像素点所在位置坐标,并将最小值赋给Jdark(x,j/nchannel);5)当MinIndex小于j-nchannel×r时,计算以坐标j-nchannel×r+1为开始的(nchannel×r×2+nchannel)个元素中的最小值MinValue及最小值位置坐标MinIndex,并将最小值赋给Jdark(x,j/nchannel)。
进而,对经过降采样的待去雾图像的每一行均执行步骤1)~4);对图像中每一列以r为滤波半径进行与步骤1)~4)类似的采样,差别只是nchannel为1。。
步骤S2:计算全球大气光强度值。
于本发明的一实施例中,所述计算大气光强度值A,包括:设置一个大气光强度值阈值MaxAtomsLight,选取中各像素点的像素值中的最大值为大气光参考值A0,若A0小于或等于MaxAtomsLight,则A=A0;否则,A=MaxAtomsLight;表示为:
选。
优选的,R、G及B三个通道中的大气光值可设置为一样,这样做既可以节省时间,也不会对最终去雾结果产生明显影响。
步骤S3:计算透射率,包括:利用所计算暗通道计算粗透射率;以降采样后的待去雾图像的灰度图像为导向图像,结合所述粗透射率且以R为滤波半径,采用导向滤波算法计算得到精细透射率,其中,R为r的预定倍数。
于本发明的一实施例中,所述粗透射率的计算公式为:其中,所述精细透射率的计算公式为t(x,y)=guidedfilter(GI(x,y),tcu(x,y),R),其为前述公式(3)简化后的结果,这样不仅降低了算法的复杂度,降低了运行时间,而且不会对最终结果有明显影响;其中,为降采样后的待去雾图像的灰度图以作为导向图像,R=4×r为滤波半径,所谓滤波半径,举例来说,对需滤波的例如5*5像素点矩阵而言,一其中心点来算,其滤波半径即为中心点到横向边缘或纵向边缘垂直距离,为2。
步骤S4:建立映射表,所述映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,其中,所述第一参数值及第二参数值在预设取值范围内。
于本发明的一实施例中,所述映射所述预设范围为[0,255],即i=0,1,...,255;j=0,1,...,255。
步骤S5:根据所述映射表计算去雾图像,包括:将所述精细透射率放大到和初始待去雾图像相同大小;将所述精细透射率的取值范围转换为所述预设取值范围;将所述初始待去雾图像和精细透射率分别作为所述第一参数和第二参数,通过所述映射表来得到R、G、或B三通道的去雾图像。
于本发明的一实施例中,所述去雾图像中各像素点的像素值的计算公式为:J(x,y,k)=MapTable(I(x,y,k),tD(x,y)),其中,x=0,1,...,m;y=0,1,...,n;k=0,1,2,k表示像素值分别在R、G或B通道的值的坐标,举例来说,每个像素值可表示为(R,G,B),0位置对应存储R值,1位置对应存储G值,2位置对应B值。
如图2所示,与所述方法实施例原理相同的是,本发明提供一种基于暗通道的快速去雾系统1,由于原理相同,因此相同的技术细节不再重复赘述;所述系统1包括:暗通道计算模块11,用于计算待去雾图像各个像素点的暗通道像素值,包括:对待去雾图像[I(x,y)]m×n进行降采样处理;对降采样处理后的待去雾图像中每一行像素点以nchannel×r为滤波半径按预设计算规则进行最小值滤波,且对每一列像素点以r为滤波半径按所述预设计算规则进行最小值滤波;将通过对所述行、列各像素点的滤波得到的最小值赋给对应的暗通道像素值其中,nchannel为通道数,r为预设半径,x表示每行像素,y表示每列像素;m、n、及为行或列中像素点数目;大气光强度值计算模块12,用于计算全球大气光强度值;透射率计算模块13,用于计算透射率,包括:利用所计算暗通道计算粗透射率;以降采样后的待去雾图像的灰度图像为导向图像,结合所述粗透射率且以R为滤波半径,采用导向滤波算法计算得到精细透射率,其中,R为r的预定倍数;映射表建立模块14,用于建立映射表,映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,其中,所述第一参数值及第二参数值在预设取值范围内;去雾图像计算模块15,用于根据所述映射表计算去雾图像,包括:将所述精细透射率放大到和初始待去雾图像相同大小;将所述精细透射率的取值范围转换为所述预设取值范围;将所述初始待去雾图像和精细透射率分别作为所述第一参数和第二参数,通过所述映射表来得到R、G、或B三通道的去雾图像。
于本发明的一实施例中,所述预设计算规则包括:对每一行或列像素点进行以下计算,其中,在行的情况下nchannel值为3,在列的情况下nchannel值为1:1)计算一行或列中以第一个像素点为开始的(nchannel×r×2+nchannel)个像素点中像素值的最小值MinValue,将该像素值赋给Jdark(x,r),并记录下最小值的位置坐标MinIndex;2)以步长为nchannel且起始坐标为(nchannel×r+nchannel)循环遍历每一行或列中的像素点;3)判断MinIndex与j-nchannel×r间大小关系,其中,j为当前所遍历的像素点的位置坐标;4)当MinIndex大于或等于j-nchannel×r时,分别比较MinValue与位置坐标为j+nchannel×r、j+nchannel×r+1和j+nchannel×r+2的像素点的像素值的大小,记录下其中的最小值和最小值对应像素点所在位置坐标,并将最小值赋给Jdark(x,j/nchannel);5)当MinIndex小于j-nchannel×r时,计算以坐标j-nchannel×r+1为开始的(nchannel×r×2+nchannel)个元素中的最小值MinValue及最小值位置坐标MinIndex,并将最小值赋给Jdark(x,j/nchannel)。
于本发明的一实施例中,所述粗透射率的计算公式为:其中,所述精细透射率的计算公式为t(x,y)=guidedfilter(GI(x,y),tcu(x,y),R),其中,为的灰度图以作为导向图像,R=4×r。
于本发明的一实施例中,所述映射所述预设范围为[0,255],即i=0,1,...,255;j=0,1,...,255;所述去雾图像中各像素点的像素值的计算公式为:J(x,y,k)=MapTable(I(x,y,k),tD(x,y)),其中,x=0,1,...,m;y=0,1,...,n;k=0,1,2,k表示像素值分别在R、G或B通道的值的坐标。
于本发明的一实施例中,所述大气光强度值计算模块12的计算大气光强度值A,包括:设置一个大气光强度值阈值MaxAtomsLight,选取中各像素点的像素值中的最大值为大气光参考值A0,若A0小于或等于MaxAtomsLight,则A=A0;否则,A=MaxAtomsLight;表示为:
综上所述,本发明的基于暗通道的快速去雾方法及系统,以暗原色去雾算法为基础,对其在实际工程应用中的编程过程进行优化,缩短了去雾算法的时间,使其能基本满足视频中实时的要求。
本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种基于暗通道的快速去雾方法,其特征在于,包括:
计算待去雾图像各个像素点的暗通道像素值,包括:对待去雾图像[I(x,y)]m×n进行降采样处理;对降采样处理后的待去雾图像中每一行像素点以nchannel×r为滤波半径按预设计算规则进行最小值滤波,且对每一列像素点以r为滤波半径按所述预设计算规则进行最小值滤波;将通过对所述行、列各像素点的滤波得到的最小值赋给对应的暗通道像素值其中,nchannel为通道数,r为预设半径,x表示每行像素,y表示每列像素;m、n、及为行或列中像素点数目;
计算全球大气光强度值;
计算透射率,包括:利用所计算暗通道计算粗透射率;以降采样后的待去雾图像的灰度图像为导向图像,结合所述粗透射率且以R为滤波半径,采用导向滤波算法计算得到精细透射率,其中,R为r的预定倍数;
建立映射表,所述映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,其中,所述第一参数值及第二参数值在预设取值范围内;
根据所述映射表计算去雾图像,包括:将所述精细透射率放大到和初始待去雾图像相同大小;将所述精细透射率的取值范围转换为所述预设取值范围;将所述初始待去雾图像和精细透射率分别作为所述第一参数和第二参数,通过所述映射表来得到R、G、或B三通道的去雾图像;
所述预设计算规则包括:
对每一行或列像素点进行以下计算,其中,在行的情况下nchannel值为3,在列的情况下nchannel值为l:
1)计算一行或列中以第一个像素点为开始的(nchannel×r×2+nchannel)个像素点中像素值的最小值MinValue,将该像素值赋给Jdark(x,r),并记录下最小值的位置坐标MinIndex;
2)以步长为nchannel且起始坐标为(nchannel×r+nchannel)循环遍历每一行或列中的像素点;
3)判断MinIndex与j-nchannel×r间大小关系,其中,j为当前所遍历的像素点的位置坐标;
4)当MinIndex大于或等于j-nchannel×r时,分别比较MinValue与位置坐标为j+nchannel×r、j+nchannel×r+1和j+nchannel×r+2的像素点的像素值的大小,记录下其中的最小值和最小值对应像素点所在位置坐标,并将最小值赋给Jdark(x,j/nchannel);
5)当MinIndex小于j-nchannel×r时,计算以坐标j-nchannel×r+1为开始的(nchannel×r×2+nchannel)个元素中的最小值MinValue及最小值位置坐标MinIndex,并将最小值赋给Jdark(x,j/nchannel)。
2.根据权利要求1所述的基干暗通道的快速去雾方法,其特征在干,所述粗透射率的计算公式为:其中,A是大气光强值,Jdark(x,y)表示暗通道像素值,ω为引入的一个[0,1]之间的值;所述精细透射率的计算公式为t(x,y)=guidedfilter(GI(x,y),tcu(x,y),R),其中,为的灰度图以作为导向图像,R=4×r。
3.根据权利要求2所述的基于暗通道的快速去雾方法,其特征在于,所述映射A是大气光强值,所述预设范围为[0,255],即i=0,1,...,255;j=0,1,...,255;所述去雾图像中各像素点的像素值的计算公式为:J(x,y,k)=MapTable(I(x,y,k),tD(x,y)),其中,x=0,1,...,m;y=0,1,...,n;k=0,1,2,k表示像素值分别在R、G或B通道的值的坐标,tD(x,y)表示将所述精细透射率放大到和初始待去雾图像相同大小的透射图。
4.根据权利要求1所述的基于暗通道的快速去雾方法,其特征在于,所述计算大气光强度值A,包括:设置一个大气光强度值阈值MaxAtomsLight,选取中各像素点的像素值中的最大值为大气光参考值A0,若A0小于或等于MaxAtomsLight,则A=A0;否则,A=MaxAtomsLight;表示为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mo>(</mo>
<mrow>
<msub>
<mi>I</mi>
<mi>s</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>A</mi>
<mo>=</mo>
<mrow>
<mo>{</mo>
<mrow>
<mtable>
<mtr>
<mtd>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
</mtd>
<mtd>
<mrow>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
<mo><</mo>
<mo>=</mo>
<mi>M</mi>
<mi>a</mi>
<mi>x</mi>
<mi>A</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mi>s</mi>
<mi>L</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>M</mi>
<mi>a</mi>
<mi>x</mi>
<mi>A</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mi>s</mi>
<mi>L</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
<mo>></mo>
<mi>M</mi>
<mi>a</mi>
<mi>x</mi>
<mi>A</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mi>s</mi>
<mi>L</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>,</mo>
<mi>x</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mover>
<mi>m</mi>
<mo>^</mo>
</mover>
<mo>;</mo>
<mi>y</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mover>
<mi>n</mi>
<mo>^</mo>
</mover>
</mrow>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>.</mo>
</mrow>
5.一种基于暗通道的快速去雾系统,其特征在于,包括:
暗通道计算模块,用于计算待去雾图像各个像素点的暗通道像素值,包括:对待去雾图像[I(x,y)]m×n进行降采样处理;对降采样处理后的待去雾图像中每一行像素点以nchannel×r为滤波半径按预设计算规则进行最小值滤波,且对每一列像素点以r为滤波半径按所述预设计算规则进行最小值滤波;将通过对所述行、列各像素点的滤波得到的最小值赋给对应的暗通道像素值其中,nchannel为通道数,r为预设半径,x表示每行像素,y表示每列像素;m、n、及为行或列中像素点数目;
大气光强度值计算模块,用于计算全球大气光强度值;
透射率计算模块,用于计算透射率,包括:利用所计算暗通道计算粗透射率;以降采样后的待去雾图像的灰度图像为导向图像,结合所述粗透射率且以R为滤波半径,采用导向滤波算法计算得到精细透射率,其中,R为r的预定倍数;
映射表建立模块,用于建立映射表,映射表用于定义根据大气光强度值、第一参数值及第二参数值计算去雾图像中像素点的像素值的映射关系,其中,所述第一参数值及第二参数值在预设取值范围内;
去雾图像计算模块,用于根据所述映射表计算去雾图像,包括:将所述精细透射率放大到和初始待去雾图像相同大小;将所述精细透射率的取值范围转换为所述预设取值范围;将所述初始待去雾图像和精细透射率分别作为所述第一参数和第二参数,通过所述映射表来得到R、G、或B三通道的去雾图像;
所述预设计算规则包括:
对每一行或列像素点进行以下计算,其中,在行的情况下nchannel值为3,在列的情况下nchannel值为1:
1)计算一行或列中以第一个像素点为开始的(nchannel×r×2+nchannel)个像素点中像素值的最小值MinValue,将该像素值赋给Jdark(x,r),并记录下最小值的位置坐标MinIndex;
2)以步长为nchannel且起始坐标为(nchannel×r+nchannel)循环遍历每一行或列中的像素点;
3)判断MinIndex与j-nchannel×r间大小关系,其中,j为当前所遍历的像素点的位置坐标;
4)当MinIndex大于或等于j-nchannel×r时,分别比较MinValue与位置坐标为j+nchannel×r、j+nchannel×r+1和j+nchannel×r+2的像素点的像素值的大小,记录下其中的最小值和最小值对应像素点所在位置坐标,并将最小值赋给Jdark(x,j/nchannel);
5)当MinIndex小于j-nchannel×r时,计算以坐标j-nchannel×r+1为开始的(nchannel×r×2+nchannel)个元素中的最小值MinValue及最小值位置坐标MinIndex,并将最小值赋给Jdark(x,j/nchannel)。
6.根据权利要求5所述的基于暗通道的快速去雾系统,其特征在于,所述粗透射率的计算公式为:其中,A是全球大气光强值,Jdark(x,y)表示表示暗通道像素值,ω为引入的一个[0,1]之间的值;所述精细透射率的计算公式为t(x,y)=guidedfilter(GI(x,y),tcu(x,y),R),其中,为的灰度图以作为导向图像,R=4×r。
7.根据权利要求6所述的基于暗通道的快速去雾系统,其特征在于,所述映射A是大气光强值,所述预设范围为[0,255],即i=0,1,...,255;j=0,1,...,255;所述去雾图像中各像素点的像素值的计算公式为:J(x,y,k)=MapTable(I(x,y,k),tD(x,y)),其中,x=0,1,...,m;y=0,1,...,n;k=0,1,2,k表示像素值分别在R、G或B通道的值的坐标,tD(x,y)表示将所述精细透射率放大到和初始待去雾图像相同大小的透射图。
8.根据权利要求5所述的基于暗通道的快速去雾系统,其特征在于,所述大气光强度值计算模块的计算大气光强度值A,包括:设置一个大气光强度值阈值MaxAtomsLight,选取中各像素点的像素值中的最大值为大气光参考值A0,若A0小于或等于MaxAtomsLight,则A=A0;否则,A=MaxAtomsLight;表示为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mo>(</mo>
<mrow>
<msub>
<mi>I</mi>
<mi>s</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>A</mi>
<mo>=</mo>
<mrow>
<mo>{</mo>
<mrow>
<mtable>
<mtr>
<mtd>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
</mtd>
<mtd>
<mrow>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
<mo><</mo>
<mo>=</mo>
<mi>M</mi>
<mi>a</mi>
<mi>x</mi>
<mi>A</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mi>s</mi>
<mi>L</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>M</mi>
<mi>a</mi>
<mi>x</mi>
<mi>A</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mi>s</mi>
<mi>L</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>A</mi>
<mn>0</mn>
</msub>
<mo>></mo>
<mi>M</mi>
<mi>a</mi>
<mi>x</mi>
<mi>A</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mi>s</mi>
<mi>L</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>,</mo>
<mi>x</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mover>
<mi>m</mi>
<mo>^</mo>
</mover>
<mo>;</mo>
<mi>y</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mover>
<mi>n</mi>
<mo>^</mo>
</mover>
</mrow>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>.</mo>
</mrow>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510812718.5A CN105354806B (zh) | 2015-11-20 | 2015-11-20 | 基于暗通道的快速去雾方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510812718.5A CN105354806B (zh) | 2015-11-20 | 2015-11-20 | 基于暗通道的快速去雾方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354806A CN105354806A (zh) | 2016-02-24 |
CN105354806B true CN105354806B (zh) | 2018-05-11 |
Family
ID=55330773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510812718.5A Active CN105354806B (zh) | 2015-11-20 | 2015-11-20 | 基于暗通道的快速去雾方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354806B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631831B (zh) * | 2016-03-14 | 2018-07-27 | 北京理工大学 | 一种雾霾条件下视频图像增强方法 |
CN105787904B (zh) * | 2016-03-25 | 2018-04-06 | 桂林航天工业学院 | 针对明亮区域的自适应全局暗原色先验的图像去雾方法 |
CN106373133B (zh) * | 2016-08-31 | 2019-02-26 | 重庆广播电视大学 | 一种基于暗通道去雾算法的农田插秧检测方法及其系统 |
CN108230251A (zh) * | 2016-12-22 | 2018-06-29 | 深圳清华大学研究院 | 组合式图像恢复方法及装置 |
CN108257094A (zh) * | 2016-12-29 | 2018-07-06 | 广东中科遥感技术有限公司 | 基于暗通道的遥感影像薄雾快速去除方法 |
CN106933579A (zh) * | 2017-03-01 | 2017-07-07 | 西安电子科技大学 | 基于cpu+fpga的图像快速去雾方法 |
CN106960421B (zh) * | 2017-03-16 | 2020-04-17 | 天津大学 | 基于统计特性和亮度估计的夜晚图像去雾方法 |
CN107610058A (zh) * | 2017-08-28 | 2018-01-19 | 浙江工业大学 | 基于下采样的高分辨率图像去雾方法 |
CN107644405B (zh) * | 2017-09-11 | 2020-04-07 | 北京小米移动软件有限公司 | 图像处理方法及装置、电子设备和计算机可读存储介质 |
CN109697698B (zh) * | 2017-10-20 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 低照度增强处理方法、装置和计算机可读存储介质 |
CN110197467A (zh) * | 2019-05-31 | 2019-09-03 | 电子科技大学 | 一种基于fpga图像透雾的优化系统 |
CN111738959B (zh) * | 2020-06-30 | 2022-08-19 | 福州大学 | 一种基于fpga的视频图像实时除雾方法 |
CN111899195A (zh) * | 2020-07-31 | 2020-11-06 | 深圳算子科技有限公司 | 一种基于图像的最大值或最小值的快速滤波方法 |
CN112183366A (zh) * | 2020-09-29 | 2021-01-05 | 重庆大学 | 一种高压电力线鸟巢检测方法、系统及机器可读介质 |
CN116523801B (zh) * | 2023-07-03 | 2023-08-25 | 贵州医科大学附属医院 | 一种早产儿护理智能监测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682443A (zh) * | 2012-05-10 | 2012-09-19 | 合肥工业大学 | 基于偏振图像引导的快速去雾算法 |
KR101448164B1 (ko) * | 2013-04-22 | 2014-10-14 | 금오공과대학교 산학협력단 | 파라미터 최적화를 이용한 영상의 안개 제거 방법 |
CN104794697A (zh) * | 2015-05-05 | 2015-07-22 | 哈尔滨工程大学 | 一种基于暗原色先验的图像去雾方法 |
CN104809707A (zh) * | 2015-04-28 | 2015-07-29 | 西南科技大学 | 一种单幅雾天图像能见度估计方法 |
JP5771430B2 (ja) * | 2011-04-08 | 2015-08-26 | オリンパス株式会社 | 霞除去画像処理装置、霞除去画像処理方法及び霞除去画像処理プログラム |
-
2015
- 2015-11-20 CN CN201510812718.5A patent/CN105354806B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5771430B2 (ja) * | 2011-04-08 | 2015-08-26 | オリンパス株式会社 | 霞除去画像処理装置、霞除去画像処理方法及び霞除去画像処理プログラム |
CN102682443A (zh) * | 2012-05-10 | 2012-09-19 | 合肥工业大学 | 基于偏振图像引导的快速去雾算法 |
KR101448164B1 (ko) * | 2013-04-22 | 2014-10-14 | 금오공과대학교 산학협력단 | 파라미터 최적화를 이용한 영상의 안개 제거 방법 |
CN104809707A (zh) * | 2015-04-28 | 2015-07-29 | 西南科技大学 | 一种单幅雾天图像能见度估计方法 |
CN104794697A (zh) * | 2015-05-05 | 2015-07-22 | 哈尔滨工程大学 | 一种基于暗原色先验的图像去雾方法 |
Non-Patent Citations (3)
Title |
---|
An Improved Image Dehazing Enhancing Method Using Dark Channel Prior;Yingchao Song et al.;《Control and Decision Conference(CCDC),2015 27th Chinese》;20150720;全文 * |
Efficient Image Dehazing based on pixel Based Dark channel prior and Guided filter;V.Saminadan et al.;《Communications and Signal Processing(ICCSP),2015 conference》;20151112;全文 * |
结合最小滤波和引导滤波的暗原色去雾;王卫星 等;《光学精密工程》;20150731;第23卷(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105354806A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354806B (zh) | 基于暗通道的快速去雾方法及系统 | |
CN107274445A (zh) | 一种图像深度估计方法和系统 | |
CN105574827B (zh) | 一种图像去雾的方法、装置 | |
CN103955905B (zh) | 基于快速小波变换和加权图像融合的单幅图像去雾方法 | |
CN102831591B (zh) | 一种基于高斯滤波的单幅图像的实时去雾方法 | |
CN104036466B (zh) | 一种视频去雾方法与系统 | |
CN106780356A (zh) | 基于卷积神经网络和先验信息的图像去雾方法 | |
Gao et al. | Sand-dust image restoration based on reversing the blue channel prior | |
CN104050637B (zh) | 基于两次引导滤波的快速图像去雾方法 | |
CN105976337B (zh) | 一种基于中值引导滤波的图像去雾方法 | |
CN106127715A (zh) | 一种图像去雾方法及系统 | |
CN103914820B (zh) | 一种基于图像分层增强的图像去雾方法及系统 | |
CN103578083B (zh) | 基于联合均值漂移的单幅图像去雾方法 | |
CN109785262A (zh) | 基于暗通道先验和自适应直方图均衡化的图像去雾方法 | |
CN106780380A (zh) | 一种图像去雾方法及系统 | |
CN104766286B (zh) | 基于无人驾驶汽车的图像去雾装置及去雾方法 | |
CN104751421B (zh) | 一种在fpga上实现的图像去雾方法 | |
CN107301624A (zh) | 基于区域划分及浓雾预处理的卷积神经网络去雾算法 | |
CN104318535B (zh) | 图像去雾的方法、装置及移动终端 | |
CN107392139A (zh) | 一种基于霍夫变换的车道线检测方法及终端设备 | |
CN107451966A (zh) | 一种采用灰度图引导滤波实现的实时视频去雾方法 | |
CN103198459A (zh) | 雾霾图像快速去雾方法 | |
CN104182950B (zh) | 一种图像处理方法及其装置 | |
CN105913390A (zh) | 一种图像去雾方法及系统 | |
CN105446333B (zh) | 视觉agv导航系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |