首页> 中国专利> 一种改进的基于直方图的图像对比度增强方法

一种改进的基于直方图的图像对比度增强方法

摘要

本发明公开了一种改进的基于直方图的图像对比度增强方法,将图像灰划分成多个灰度阶,累计各个灰度阶的像素数目;在[0,1]范围为gamma取值;用gamma值对各个灰度阶的像素数目进行gamma变换,得到变换后的各阶灰度像素数目;用gamma变换得到后的各阶灰度像素数目进行传统的直方图均衡处理,得到对比度增强的输出图像。当gamma取[0,1]时,gamma函数变换会缩小直方图概率分布中的较大值,而扩大较小值,但不会使较大值比较小值更小。这样减小了对大概率灰度阶的过度拉伸,对小概率的灰度过度压缩,同时提高了对比度。我们即通过调整gamma值来调整直方图均衡的程度。

著录项

  • 公开/公告号CN101527038A

    专利类型发明专利

  • 公开/公告日2009-09-09

    原文格式PDF

  • 申请/专利权人 四川虹微技术有限公司;

    申请/专利号CN200910058814.X

  • 发明设计人 杨东;陈涛;刘强;

    申请日2009-04-02

  • 分类号G06T5/40;

  • 代理机构北京市路盛律师事务所;

  • 代理人温利平

  • 地址 610041 四川省成都市高新区天府大道南延线高新孵化园8号楼

  • 入库时间 2023-12-17 22:36:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-24

    未缴年费专利权终止 IPC(主分类):G06T5/40 授权公告日:20110615 终止日期:20160402 申请日:20090402

    专利权的终止

  • 2011-06-15

    授权

    授权

  • 2009-11-04

    实质审查的生效

    实质审查的生效

  • 2009-09-09

    公开

    公开

说明书

技术领域

本发明涉及后处理中,一种改进的基于直方图的图像对比度增强方法。

背景技术

传统的全局域直方图均衡方法基于最大熵原理,设pr(r)为原始图像各个灰度阶的概率密度函数,直方图均衡化处理实际上就是寻找一个灰度变换函数T,使得变化后的灰度值s=T(r),使各个灰度阶的概率密度函数ps(s)相等,这时图像有最大的信息熵,从而增强了图像的对比度。其基本步骤如下:

(1)、统计原始图像的直方图:

Pr(rk)=nkN,k0,1,2,...,L-1

式中,rk是图像灰度,nk是灰度等于rk的像素数目,N是图像总像素数目,L为可能的灰度级总数。

(2)、计算直方图累积分布函数

sk=T(rk)=Σj=0kPr(rj)=Σj=0knjN

(3)、用直方图累积分布函数作变换函数进行图像灰度变换

通过直方图累积分布函数,将原始图像灰度级为rk的各像素映射到输出图像中灰度级为sk的对应像素。这种映射,即变换称为直方图均衡化。直方图均衡化后的图像的像素占有全部可能的灰度级并且分布均匀,因而具有高对比度,图像的对比度得到了增强。

传统的全局域直方图均衡方法增强图像的对比度,由于处理的是数字图像,数字图像的灰度阶是离散的,这样直方图均衡后图像灰度存在过度拉伸概率大的灰度,压缩小概率小的灰度,使图像与原始图像平均亮度差距过大,细节部分过多压缩,出现冲淡的视觉效果。

发明内容

本发明的目的在于提供一种改进的基于直方图的图像对比度增强方法,以克服现有技术中全局域直方图均衡方法增强图像对比度存在的过度拉伸概率大的灰度,压缩小概率小的灰度的缺陷。

为达到上述发明目的,本发明的一种改进的基于直方图的图像对比度增强方法,包括以下步骤:

(1)、将图像灰划分成多个灰度阶,累计各个灰度阶的像素数目;

(2)、在[0,1]范围为gamma取值;

(3)、用gamma值对各个灰度阶的像素数目进行gamma变换,得到变换后的各阶灰度像素数目;

(4)、用gamma变换得到后的各阶灰度像素数目进行传统的直方图均衡处理,得到对比度增强的输出图像。

本发明的目的是这样实现的:

当gamma取[0,1]时,gamma函数变换会缩小直方图概率分布中的较大值,而扩大较小值,但不会使较大值比较小值更小。这样减小了对大概率灰度阶的过度拉伸,对小概率的灰度过度压缩,同时提高了对比度。我们即通过调整gamma值来调整直方图均衡的程度。

附图说明

图1是本发明一具体实施方式的输入图像直方图;

图2是本发明一具体实施方式拐点插值图。

具体实施方式

为更好地理解本发明,下面结合附图和具体实施方式对本发明进行更为详细描述。在以下的描述中,当已有的现有技术的详细描述也许会淡化本发明的主题内容时,这些描述在这儿将被忽略。

实施例1

在本实施例中,我们针对原始图像的属性,在[0,1]间自适应地对gamma进行取值。

首先,将图像灰度阶划分成N个灰度阶,累计各个灰度阶的像素数目stsN[i],i为灰度阶的序号;

然后,根据直方图的分布情况,求出占图像像素数目比例R的最少连续灰度阶数目n,及连续灰度阶中心位置p。如图1所示,矩形框长度为n,框内图像像素数目占整个图像像素的比例为R,矩形框中心横坐标为p。从图1,我们可以看出,最少连续灰度阶数目n反映的是图像灰度分布的集中度。依据占图像像素数目比例R的最少连续灰度阶数目n及连续灰度阶中心位置p,求出gamma值。在具体实施中,应遵循以下原则来求出gamma值:

1、由于处理的是正常的视频序列,我们不能过多改变原始序列的灰度,而只是略微提高图像对比度,所以对于灰度分布集中的图像,取较小的gamma值,反之,取较大的gamma值。即最少连续灰度阶数目n如果较小,应该取较小的gamma值,反之,取较大的gamma值。

2、同时根据人的视觉特性,对较暗较亮的灰度阶比中间灰度阶敏感,所以如果图像灰度集中分布于中间灰度阶时,不应用太大的gamma,否者不敏感灰度阶的很多噪声被移动到敏感区域,影响视频主观质量。即连续灰度阶中心位置p在中间灰度阶,则取较小的gamma值,反之,取较大的gamma值。

最后,将求出的gamma值,对各个灰度阶的像素数目进行gamma变换,得到变换后的各阶灰度像素数目进行传统的直方图均衡处理,得到对比度增强的输出图像。

为更为直观清晰地理解本发明以及本实施例,下面结合具体数值和算法,进行说明:

将图像灰度划分成64个灰度阶,即N=64,并累计各个灰度阶的像素数目sts64[i],i为0~63;然后计算占总像素数目R=60%的连续灰度最少阶数n,以及连续灰度的中心位置p,代入式(1)计算gamma值,其中abs为取绝对值操作:

gamma=0.4-abs(32-n)/60+0.015*abs(32-p)/4    (1)

从式(1),我们可以看出,最少连续灰度阶数目n如果较小,gamma值就越小,反之,gamma值就越大;另外,连续灰度阶中心位置p在中间灰度阶,gamma值越小,反之,gamma值越大。显然,满足本实施例中对gamma值的要求。

在本实施例中,像素数目比例R可以在50~70%间进行取值。

实施例2

在实施例1中,未考虑视频序列相邻图像之间的相关性,所以会出现明暗抖动的情况。在本实施例中,可通过同一场景视频图像直方图的相似性简单地进行场景判别,对同一场景的相邻视频帧加以约束,防止明暗抖动。

由于相邻的同场景视频图像在亮度分量的分布上具有一定的相关性,所以其各个灰度阶的数目的差值之绝对值和占整幅图像像素数目的比例sign应该小于某一值,一般为20%~50%,最优为40%。在本实施例中,sign=40%,各个灰度阶的数目的差值之绝对值和占整幅图像像素数目的比例sign小于40%,即为同一场景图像。

若当前图像不是第一帧图像,则计算当前图与上一帧图像统对应灰度阶数目的差的绝对值之和sum_error,即:

sum_error=Σi=0N-1abs(stsN[i]-old_stsN[i])---(2)

式中stsN[i]为当前图像灰度阶为i的像素数目,old_stsN[i]为上一帧图像灰度阶为i的像素数目。

在本实施例中,如果当前图像与上一帧图像中对应灰度阶数目的差的绝对值之和sum_error占图像总像素数目的比例sign小于40%,则判定两帧图像为同一场景。

如果当前图像与上一帧的图像为同一场景,且当前图像计算出的gamma值与上一帧图像计算出的gamma值差值超过0.1,则当前图像gamma值取为上一帧图像的gamma值,用于对当前图像各个灰度阶的像素数目进行gamma变换,得到变换后的各阶灰度像素数目进行传统的直方图均衡处理,得到对比度增强的输出图像。

实施例3

在实施例1中,未考虑场景淡入淡出时,图像灰度只分布在一部分灰度阶,这时即使gamma值很小,也会出现过度拉伸的情况。为此,在本实施例中,对各个灰度阶的像素数目stsN[i]加上一个较小的数值,然后进行gamma变换,得到变换后的各阶灰度像素数目进行传统的直方图均衡处理,得到对比度增强的输出图像。

将图像灰度划分成64个灰度阶,即N=64时,我们将较小的数值取值为0.1,则这一步骤,用公式表示,

sts_gamma64[i]=(sts64[i]+0.1)gamma                   (3)

式中,sts64_gamma64[i]表示图像灰度划分成64个灰度阶时,经过gamma变换后的各阶灰度像素数目。

在式(3)中,0.1作用是防止累计的各阶灰度像素数目中出现0值而过多影响均衡后的亮度,而加上0.1过度拉伸情况有了抑制,当然也可加上其他较小的值。

实施例4

在本实施例中,图像灰度划分成64个灰度阶,gamma变换后的各阶灰度像素数目sts64_gamma64[i]进行经典的直方图均衡算法,得到65个拐点trans_val[i]的值,其中i=0~64。标记点如图2所示。若当前图像与上一帧图像为同一场景,判断方法同实施例2,则参考上一帧图像的拐点数据old_trans_val,这样让前后两帧的灰度阶变换值平稳过渡,不会出现明暗抖动,用公式表示为:

trans_val[i]=(1-sign)*old_trans_val[i]+sign*trans_val[i]      (4)

式中,sign为当前图像与上一帧图像对应灰度阶数目的差的绝对值之和占图像总像素数目的比例。

然后,对原始图像进行逐个像素处理,将各个像素的灰度值u在65个拐点间进行如下的线性插值,得到最后的灰度值y。

y=trans_val[temp]*(-64*u+1+temp)+(64*u-temp)*trans_val[temp+1])  (5)

式(5)中的temp等于u*64的整数部分,为u所在灰度阶序号。其中节点为65个拐点,曲线为插值得到的最终输出值。

尽管上面对本发明说明性的具体实施方式进行了描述,但应当清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号