两种直方图规定化实现算法的分析_李绍君
本栏目责任编辑:李桂瑾
人工智能及识别技术
两种直方图规定化实现算法的分析
李绍君,甘岚
(华东交通大学信息工程学院,江西南昌330013)
摘要:直方图规定化可以将图像的直方图转化为需要的形状,有目的地增加某个灰度区间的图像,使用户获得感兴趣的信息。本文介绍了直方图规定化的两种经典的实现算法———单映射规则(SML)和组映射规则(GML)的基本原理,并应用这两种算法对实例图像进行规定化处理和比较分析,证明了GML相对于SML的优越性。
关键词:直方图规定化;单映射规则;组映射规则
文献标识码:A文章编号:1009-3044(2007)18-31705-02中图分类号:TP391
AnalysisofTwoImplementingofMethodofHistogramSpecification
LIShao-jun,GANlan
(SchoolofInformationEngineering,EastChinaJiaotongUniversity,Nanchang330013,China)
Abstract:Histogramspecificationcanchangethehistogramofimageintoanspecificform,anditcanenhancetheimageofonegrayrange,soastogivetheinformationthatusersinterestedin.Thispaperintroducesthebasicprincipleoftwoclassicalimplementingofmethodabouthistogramspecification.Bycomparativeanalysisofthespecificationprocessinganexampleofimage,thesuperiorityofGMLtoSMLhasbeenproved.
Keywords:Histogramspecification;singlemappinglaw;groupmappinglaw
1引言
图像增强的首要目标是改善图像,以使图像更适合于特定应用。图像增强的方法主要取决于图像希望达到的特定效果,一般来说,图像增强的方法分为两大类:基于图像灰度值统计的方法和基于图像空间频率的方法[1]。用灰度直方图增强图像对比度是基于图像灰度值统计的一种重要方法,它以概率论为基础的,常用的实现算法主要是直方图均衡化和直方图规定化。
直方图均衡化主要用于增强动态范围较小的图像的反差,基本思想是把原始图的直方图变换为均匀分布的形式,这样就增强了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。直方图均衡化的优点是能自动地增强整个图像的对比度,但它的具体的增强效果不好控制,处理的结果总是得到全局均衡化的直方图。实际中有时需要变换直方图使之成为某个需要的形状,从而有选择地增强某个灰度值范围内的对比度或使图像灰度值的分布满足特定的要求,这时可以采用比较灵活的直方图规定化方法。
然后将ps(si)对应到pu(uj)去,由于这里每个ps(si)是分别对应过去的,故这种方法简单直观,但有时会有较大的取整误。
组映射规则(groupmappinglaw,GML):设有一个整数函数I(l),l=0,1,N-1,满足:0≤I(0)≤...≤I(l)≤...≤I(N-1)≤M-1,确定使下式能达到最小的I(l)
这时,如果l=0,则将其i从到I(0)的ps(si)都对应到pu(u0)去;如果l≥1,则将其i从I(l-1)+1到I(l)都对应到pu(uj)去[2]。
具体算法为(编程实现):
//计算原始图像到目标图像累积直方图各灰度级的差的绝对值,存放在一个二维数组里
2直方图规定化原理和算法
在直方图规定化的过程中,正确地选择规定化的函数有可能获得比直方图均衡化更好的效果,一般分为三个步骤:
(1)对原始图的直方图进行灰度均衡化
tk=EH,S(Si)=! ps(si)
i=0
l
k
k=0,1,...,M-1
(2)规定需要的直方图,并将其直方图均衡化Vl=EH,u(uj)=! pu(uj)
j=0
l=0,1,...,N-1
(3)将(1)中得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有,也就是将所有的ps(si)对应到pu(uj)
去,因为在映射过程中有取整误差的影响,所以采用什么样的对应规则在离散空间中很重要。常用的两种方法为单映射规则(singlemappinglaw,SML)和组映射规则(groupmappinglaw,
GML)。
单映射规则(singlemappinglaw,SML):是从小到大依次找到能使下式最小的k和l,
for(j=0;j<256;j++){for(i=0;i<256;i++)
{diff[i][j]=fabs(dest[i]-scr[j]);}}
//SML映射
for(j=0;j<256;j++){minx=0;
minvalue=diff[0][j];for(i=1;i<256;i++)
{if(minvalue>diff[i][j]){minvalue=diff[i][j];minx=i;}}
HistogramSML[j]=minx;}//GML映射
lastStartY=0;lastEndY=0;startY=0;endY=0;for(i=0;i<256;i++){minvalue=diff[i][0];for(j=1;j<256;j++)
{if(minvalue>diff[i][j]){minvalue=diff[i][j];
收稿日期:2007-09-04
作者简介:李绍君(1980-),男,江西九江人,助教,华东交通大学信息工程学院硕士研究生,研究方向:图像处理,模式识别;甘岚(1964-),女,江西南昌人,华东交通大学信息工程学院教授,硕士生导师,研究方向:数据挖掘、模式识别、图像处理
。
1705
人工智能及识别技术
endY=j;}}
if(startY!=lastStartY||endY!=lastEndY){for(k=startY;k<=endY;k++)HistogramGML[k]=i;lastStartY=startY;lastEndY=endY;startY=lastEndY+1;}}
本栏目责任编辑:李桂瑾
3算法实现与举例
在实际应用中,希望能有目的地增强某个灰度区间的图像,即能够人为的修正直方图的形状,使之与期望的形状相匹配,经常用来校正因拍摄亮度或其它原因造成的图像差异,直方图规定化就是针对这种应用的图像增强方法,它是在运用均衡化原理的基础上,通过对应一定的规则将原始图的直方图向规定的直方图转化,从而弥补了直方图均衡化不具备交互作用的特性[3]。
设对一幅图像进行规定直方图变换,原始图及其直方图和所需规定图及其直方图如下图所示:
可见,虽然运用组映射规则(GML)得到的图像与运用单映射规则(SML)相比虽无太大变化但从直方图分布和图像细节上更接近于规定的直方图。
4结论
使用软件对此实例运用单映射规则(SML)和组映射规则(GML)得到的图像进行分析,重点在平均灰度值和亮度两个指标上,实验数据如下表:
从原始图的直方图上可以看出原始图因光线不足而造成过多的低灰度像素点,图像显得比较灰暗,我们希望它达到规定图的效果。
我们先将原始图和规定图都均衡化,得到的图像及其直方图如下图所示。
有图表可知,运用组映射规则(GML)产生的误差要比单映射规则(SML)小,GML产生的图像更接近于规定图。
从理论上来说,量化的比较可借助映射产生的误差来进行,这个误差可用对应映射间数值的差值(取绝对值)的和来表示,和
在连续情况的数值越小,映射效果越好,理想效果下,这个和为0。
下两个规则都能给出精确的规定化结果,但在离散情况下精确程度常不一样,因为取整误差的影响,当把某ps(si)对应到pu(uj)时,运用SML映射规则可能会产生的最大误差是pu(uj)/2,而运用GML映射规则可能会产生的最大误差是ps(i)/2。因为规定直方图灰度级(N)<原始图的直方图灰度级(M),所以ps(si)/2≤pu(uj)/2,也就是说SML映射规则的期望误差总大于等于GML映射规则的期望误差。
再从算法实现上来看,SML映射规则是一种有偏的映射规则,某些范围的灰度级会被有偏地映射到接近开始计算的灰度级;而GML映射规则是统计无偏的,从根本上就避免了上述问题的出现。所以结论是,GML映射规则总会得到比SML映射规则更接近规定直方图的结果。另外,因为直方图规定化是通过两次直方图均衡化实现,在实际应用中,若对图像灰度特征等有更多的了解,进一步的直方图规定化可以获得更好的视觉改善。
参考文献:
[1]赖剑煌,冯国灿.数字图像处理疑难解析[M].北京:机械工业出版社,2005.
[2]章毓晋.图像工程(上册):图像处理[M].北京:清华大学出版社,2006.
[3]张娜.数字图像增强的方法[J].大众科技,2006,8.
[4]韩殿元,陈子富.一种直方图规定化的组映射算法[J].潍坊学院学报,2005,
5(6).
然后,再按照单映射规则(SML)和组映射规则(GML)分别计算,分别得出的图像及其直方图如下图所示:
1706
电脑知识与技术