图像增强方法及系统与流程

文档序号:13805676阅读:358来源:国知局
图像增强方法及系统与流程

本发明涉及数字图像处理技术领域,尤其涉及一种基于retinex图像增强算法的图像增强方法及系统。



背景技术:

视频采集过程受诸多因素影响,如夜间或者暗光拍摄条件下表现为光照不足、亮度偏低;光线遮挡使得形成的图像一部分明亮另一部分较暗,造成光照不均;反光或强光源使得获取的图像亮度分布不均匀,高亮区域细节模糊。光照不足或者光照不均一方面会造成图像主观效果不佳,难以满足人们视觉感官的需要,另一方面对于后续的图像处理比如模式识别、目标跟踪都会造成较大影响,因此需要采用图像增强技术对光照不均图像进行增强处理提高质量。

图像增强技术指的是根据图像质量情况和不同的应用釆用信号处理技术手段达到增强局部或者整体特征的目的。针对光照不均匀图像的增强处理,常常采用的算法主要有:灰度变换方法、同态滤波方法、小波变换增强、基于retinex理论的图像增强算法等。其中,retinex图像增强算法具有颜色保真、细节增强和动态范围压缩等多个方面的优势,它常常与其他算法结合使用可以达到更好的增强效果。多尺度retinex(msr,multi-scaleretinex)和带色彩恢复的msr(msrcr,multi-scalesretinexwithcolorrestoration)是其中得到广泛应用的两种方法,然而这两种算法对有多个光源的图像处理效果不好,且易产生光晕伪影。对于较暗的图像,输出图像亮度过高,虽然看起来更加清晰,但已经与现实场景不相符合;特别是图像质量较差时,输出的图像伴有噪声,出现块效应,效果变差。



技术实现要素:

针对现有技术中的问题,本发明的目的在于提供一种图像增强方法及系统,对输出亮度进行控制,使输出图像既能得到提升,又能与真实环境相符合。

本发明实施例提供一种图像增强方法,包括如下步骤:

获取输入图像中各个像素点的输入亮度值,并计算所述输入亮度值的对数平均值;

基于retinex图像增强算法处理所述输入图像,得到各个像素点的第一亮度增益值;

根据所述输入亮度值的对数平均值,计算得到亮度增益控制因子,所述亮度增益控制因子与所述输入亮度值的对数平均值正相关;

根据所述亮度增益控制因子和所述第一亮度增益值,计算得到各个像素点的第二亮度增益值;

根据所述第二亮度增益值增强所述输入图像中的各个像素点,得到输出图像。

可选地,根据如下公式计算得到各个像素点的第二亮度增益值:

g′(x,y)=(g(x,y))τ

其中,τ为所述亮度增益控制因子,g(x,y)和g′(x,y)分别为像素点(x,y)的第一亮度增益值和第二亮度增益值。

可选地,根据如下公式计算得到所述亮度增益控制因子:

其中,为所述输入亮度值的对数平均值,τ为所述亮度增益控制因子,为第一预设控制值,且

可选地,根据如下公式计算所述输入亮度值的对数平均值:

其中,lw(x,y)为像素点(x,y)的输入亮度值,为lw的对数平均值,n为所述输入图像中的像素点总数量,δ为第二预设控制值,lw(x,y)为像素点(x,y)的输入亮度值。

可选地,基于retinex图像增强算法处理所述输入图像,包括如下步骤:

基于全局自适应算法处理所述输入图像,得到各个像素点的全局输出亮度值;

基于局部自适应算法处理所述全局输出亮度值,得到各个像素点的输出亮度值;

根据所述输出亮度值和输入亮度值,计算得到各个像素点的第一亮度增益值。

可选地,所述基于全局自适应算法处理所述输入图像,包括如下步骤:

根据如下公式计算各个像素点的全局输出亮度值:

其中,lg(x,y)为像素点(x,y)的全局输出亮度值,lw(x,y)为像素点(x,y)的输入亮度值,lwmax为lw的最大值,为lw的对数平均值。

可选地,所述基于局部自适应算法处理所述全局输出亮度值,包括如下步骤:

根据各个像素点的全局输出亮度值,计算引导滤波器的输出值;

根据如下公式计算各个像素点的局部输出亮度值:

ll(x,y)=log(lg(x,y))-log(hg(x,y))

其中,lg(x,y)为像素点(x,y)的全局输出亮度值,hg(x,y)引导滤波器的输出值,ll(x,y)为像素点(x,y)的局部输出亮度值;

将所述局部输出亮度值作为所述各个像素点的输出亮度值。

可选地,所述基于局部自适应算法处理所述全局输出亮度值,包括如下步骤:

根据各个像素点的全局输出亮度值,计算引导滤波器的输出值;

根据如下公式计算各个像素点的输出亮度值:

其中,lg(x,y)为像素点(x,y)的全局输出亮度值,hg(x,y)引导滤波器的输出值,lout(x,y)为像素点(x,y)的局部输出亮度值,α(x,y)为像素点(x,y)的对比度增强因子,β为自适应非线性偏移因子;且α(x,y)和β可分别由如下两个公式计算得到:

其中,lgmax为lg的最大值,η为对比度控制参数,λ为非线性控制参数,为lg的对数平均值;

将所述局部输出亮度值作为所述各个像素点的输出亮度值。

可选地,根据如下公式计算引导滤波器的输出值:

其中,ξx,ξy为邻域像素坐标,ω(x,y)为在像素点(x,y)处一个半径为r局部矩形窗口,|ω|为在ω(x,y)内像素点的数量,a(ξx,ξy)和b(ξx,ξy)分别为线性系数,且可分别根据如下两个公式计算得到:

b(ξx,ξy)=μ(ξx,ξy)-a(ξx,ξy)μ(ξx,ξy)

其中,μ(ξx,ξy)和σ2(ξx,ξy)分别为lg在ω(ξx,ξy)内的均值和方差,μ2(ξx,ξy)为在ω(ξx,ξy)内的均值,ε为正则化参数。

本发明实施例还提供一种图像增强系统,用于实现所述的图像增强方法,所述系统包括:

输入亮度获取模块,用于获取输入图像中各个像素点的输入亮度值;

亮度增益计算模块,用于:计算所述输入亮度值的对数平均值;基于retinex图像增强算法处理所述输入图像,得到各个像素点的第一亮度增益值;

亮度控制模块,用于:根据所述输入亮度值的对数平均值计算得到亮度增益控制因子,以及根据所述亮度增益控制因子计算得到各个像素点的第二亮度增益值;

图像增强模块,用于根据所述第二亮度增益值增强所述输入图像中的各个像素点,得到输出图像。

本发明所提供的图像增强方法具有下列优点:

本发明采用retinex图像增强算法对输入图像进行增强,并且通过采用亮度增益控制因子,当图像亮度较低时,第一亮度增益值会被较大的压缩,当图像亮度较大时,第一亮度增益值被较小的压缩,这样就可以使暗的图像的亮度增益变小;从而实现了对输出图像的亮度进行有效控制,使输出图像的亮度既能得到提升,又能与真实环境相符合。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。

图1是本发明的图像增强方法的流程图;

图2是本发明一实施例的计算第一亮度增益值的流程图;

图3是本发明一实施例的图像增强方法的流程图;

图4是本发明一实施例的图像增强系统的结构示意图;

图5是本发明一实施例的亮度增益计算模块的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。

如图1所示,本发明提供了一种图像增强方法,包括如下步骤:

s100:获取输入图像中各个像素点的输入亮度值,并计算输入亮度值的对数平均值;

s200:基于retinex图像增强算法处理输入图像,得到各个像素点的第一亮度增益值;

s300:根据输入亮度值的对数平均值,计算得到亮度增益控制因子,所述亮度增益控制因子与所述输入亮度值的对数平均值正相关;

s400:根据亮度增益控制因子和第一亮度增益值,计算得到各个像素点的第二亮度增益值;

s500:根据第二亮度增益值增强输入图像中的各个像素点,得到增强图像。

本发明采用retinex图像增强算法对输入图像进行增强,并且通过采用亮度增益控制因子对亮度增益进行控制。亮度增益控制因子由输入亮度值的对数平均值来决定,可以很好地反映输入图像的整体亮度水平,根据输入图像的整体亮度水平对亮度增益进行控制,从而使输出图像的亮度既能得到提升,又能与真实环境相符合。

在本发明中,retinex图像增强算法可以采用全局自适应算法,也可以采用局部自适应算法,也可以采用全局自适应算法和局部自适应算法结合的方式,另外也可以采用基于retinex的其他图像增强算法,均属于本发明的保护范围之内。

下面以一个具体实施例来具体说明该发明,该实施例中,以retinex理论为基础,首先,使用全局色调映射技术预处理输入图像;然后,使用局部色调映射处理全局处理后的输出;然后,对retinex算法输出亮度做归一化,采用亮度增益控制因子对retinex算法输出亮度进行处理;最后从处理后的亮度值和输入色度值中获得输出图像。

如图2所示,在该实施例中,图像增强包括全局处理和局部处理两部分。具体地,上述步骤s200可以包括如下步骤:

s201:基于全局自适应算法处理所述输入图像,得到各个像素点的全局输出亮度值;

s202:基于局部自适应算法处理所述全局输出亮度值,得到各个像素点的输出亮度值;

s203:根据所述输出亮度值和输入亮度值,计算得到各个像素点的第一亮度增益值。

另外,在该实施例中,对步骤s202局部自适应算法进行了改进,将视觉算法中的高斯滤波器使用一个引导滤波器取代,能够去除光晕。局部处理算法中增加了一种基于场景亮度值的对比度增强因子,控制输出图像的对比度。此外,该实施例还引入了对数函数的非线性强度来处理自适应非线性偏移。

如图3所示,该实施例的图像增强方法可以包括如下步骤:

s1:输入图像数据,计算输入图像的输入亮度值lw和对数平均值

s2:输入亮度值lw代入人类视觉系统感知亮度的对数函数,得到全局输出亮度值lg;

s3:对全局输出亮度值lg进行引导滤波,得到引导滤波器的输出hg,确定对比度控制参数η和非线性控制参数λ,计算局部亮度输出值ll;

s4:确定亮度增益控制因子τ,通过输入亮度值lw、对数平均值局部亮度输出值ll和亮度增益控制因子τ计算出每个像素点的亮度增益值;

s5:输入图像的三通道的像素值分别乘以亮度增益值,构造一个新的图像文件。

因此,采用该实施例的图像增强方法,不仅可以使输出图像的对比度和亮度得到增强,还能消除光晕伪影。本发明可以针对不同类型图像进行自适应增强,保证了图像增强的实时性。

下面分别对各个步骤进行详细介绍:

s1、输入图像数据,计算输入图像的输入亮度值lw,并根据如下公式计算对数平均值

其中,lw(x,y)为输入亮度值,为lw的对数平均值,n为所述输入图像中的像素点总数量,δ为第二预设控制值,lw(x,y)为像素点(x,y)的输入亮度值。

s2、全局自适应算法计算全局输出亮度值lg

全局自适应与早期的人类视觉系统类似,人类视觉系统感知亮度的近似为一个对数函数。因此视觉全局亮度转换公式:

其中,lg(x,y)为像素点(x,y)的全局输出亮度值,lw(x,y)为像素点(x,y)的输入亮度值,lwmax为lw的最大值,为lw的对数平均值。

s3、局部自适应算法计算局部输出亮度值ll

在全局自适应处理之后,使用基于视觉理论的局部自适应算法。在本案例中,使用引导滤波器代替传统理论中的双边缘滤波器,两者都是具有保边特性的滤波器,而引导滤波器在靠近边缘处,有更好的性能。局部自适应公式为:

ll(x,y)=log(lg(x,y))-log(hg(x,y))

其中,lg(x,y)为像素点(x,y)的全局输出亮度值,hg(x,y)引导滤波器的输出值,ll(x,y)为像素点(x,y)的局部输出亮度值。

根据如下公式计算引导滤波器的输出值:

其中,ξx,ξy为邻域像素坐标,ω(x,y)为在像素点(x,y)处一个半径为r局部矩形窗口,|ω|为在ω(x,y)内像素点的数量,a(ξx,ξy)和b(ξx,ξy)分别为线性系数,且可分别根据如下两个公式计算得到:

b(ξx,ξy)=μ(ξx,ξy)-a(ξx,ξy)μ(ξx,ξy)

其中,μ(ξx,ξy)和σ2(ξx,ξy)分别为lg在ω(ξx,ξy)内的均值和方差,μ2(ξx,ξy)为在ω(ξx,ξy)内的均值,ε为正则化参数。

在滤波后,光晕效应会明显降低,但是全局的对比度较低。为了防止滤波器引起的扁平效应,提高算法的性能,引入两个重要因子。一个是对比度增强因子,公式如下:

另一个因子是自适应非线性偏移因子,公式为:

其中,lgmax为lg的最大值,λ为非线性控制参数,为lg的对数平均值。

通过以上个部分因子的计算,最终的局部自适应公式为:

其中,lout(x,y)为像素点(x,y)的优化后的局部输出亮度值。

s4、确定亮度增益控制因子τ

对lout归一化,使它与输入亮度在同一个范围内。归一化方法可以采用如下公式:

其中,l’out(x,y)为lout(x,y)的归一化亮度值,loutmax和loutmin分别为lout的最大值和最小值;

根据如下公式计算所述第一亮度增益值:

其中,g(x,y)为像素点(x,y)的第一亮度增益值。

如果直接使用g(x,y)作为增益输出图像,不能有效地控制图像的输出亮度。对于较暗的图像,输出图像亮度过高,虽然看起来更加清晰,但已经与现实场景不相符合;特别是图像质量较差时,输出的图像伴有噪声,看上去效果变差。

为了解决上述问题,需要对输出亮度进行控制,使输出图像既能得到提升,又能与真实环境相符合。那么,我们希望在图像亮度变小时,g(x,y)也变小,且梯度变大。

由此,设计了一个亮度增益控制因子τ。τ是在是在g(x,y)的基础上做调整。

g′(x,y)=(g(x,y))τ

其中,τ为所述亮度增益控制因子,g(x,y)和g′(x,y)分别为像素点(x,y)的第一亮度增益值和第二亮度增益值。

根据如下公式计算得到所述亮度增益控制因子:

其中,为所述输入亮度值的对数平均值,τ为所述亮度增益控制因子,为第一预设控制值,且在实际应用中,第一预设控制值可以根据经验值选择,例如选择为0.5,0.6等等,以获取最佳的亮度增益控制效果。另外,由于取值为0时,亮度增益控制因子为1,对第一亮度增益值无影响,因此,的值进一步优选在(0,1]的范围内选取。

由于τ为亮度增益控制因子是以输入亮度的对数平均值为输入,这样更能体现出原图像的亮度。是输入亮度值的对数平均值,且所以,τ∈[0,1]。

这样做的目的是当图像亮度较低时,第一亮度增益值会被较大的压缩,当图像亮度较大时,第一亮度增益值被较小的压缩,从而控制了输出亮度达到了有效控制的目的。

s5:根据如下公式增强输入图像中的各个像素点,得到输出图像:

rgb1(x,y)=rgb0(x,y)*g′(x,y)

其中,g′(x,y)为像素点(x,y)的第二亮度增益值,rgb1(x,y)为输出图像中像素点(x,y)的rgb值,rgb0(x,y)为输入图像中像素点(x,y)的rgb值。

如图4所示,本发明实施例还提供一种图像增强系统,用于实现上述的图像增强方法,所述系统包括输入亮度获取模块100、亮度增益计算模块200、亮度控制模块300和图像增强模块400,其中:

所述亮度获取模块100获取输入图像中各个像素点的输入亮度值;所述亮度增益计算模块200计算所述输入亮度值的对数平均值;以及基于retinex图像增强算法处理所述输入图像,得到各个像素点的第一亮度增益值;所述亮度控制模块300根据所述输入亮度值的对数平均值计算得到亮度增益控制因子,以及根据所述亮度增益控制因子计算得到各个像素点的第二亮度增益值;所述图像增强模块400根据所述第二亮度增益值增强所述输入图像中的各个像素点,得到输出图像。

该实施例中,采用retinex图像增强算法对输入图像进行增强,并且通过采用亮度增益控制因子对亮度增益进行控制。亮度增益控制因子由输入亮度值的对数平均值来决定,可以很好地反映输入图像的整体亮度水平,根据输入图像的整体亮度水平对亮度增益进行控制,从而使输出图像的亮度既能得到提升,又能与真实环境相符合。

其中各个模块均可以实现算法的定点化处理,均可以在fpga(field-programmablegatearray,现场可编程门阵列)中实现,各个模块的具体操作步骤可以参见上述图像增强方法的实施例。具体地,如图5所示,亮度增益计算模块200还可以包括全局自适应单元201,采用全局自适应算法处理图像,得到全局输出亮度值;滤波单元202,采用引导滤波器对全局输出亮度值进行滤波;对比度控制单元203,计算对比度增强因子,并且将对比度增强因子引入到局部自适应公式中;非线性偏移单元204,计算自适应非线性偏移因子,并且将自适应非线性偏移因子引入到局部自适应公式中。因此,采用该实施例的图像增强方法,不仅可以对输出图像的亮度进行有效控制,而且可以通过引导滤波器降低图像增强的光圈效应,通过对比度增强因子增强图像的全局对比度,通过自适应非线性偏移因子保持局部自适应算法的准确性。

本发明所提供的图像增强方法及系统具有下列优点:

本发明采用retinex图像增强算法对输入图像进行增强,并且通过采用亮度增益控制因子,当图像亮度较低时,第一亮度增益值会被较大的压缩,当图像亮度较大时,第一亮度增益值被较小的压缩,这样就可以使暗的图像的亮度增益变小;从而实现了对输出图像的亮度进行有效控制,使输出图像的亮度既能得到提升,又能与真实环境相符合。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1