本发明属于图像增强领域,具体涉及一种基于图像强度阈值和自适应切割的图像增强方法。
背景技术:
图像增强的目的是显示低对比度图像中隐藏的细节。图像增强已广泛用于医学图像,人脸识别和水下图像。直方图均衡化的主要思想是平整概率分布并重新映射图像的灰度级,从而改善图像对比度。由于直方图均衡化其简单的函数方程和有效的增强特性而被广泛用于图像对比度增强。尽管传统的直方图均衡化技术具有许多优点,但与原始图像相比,处理后图像的平均亮度将大大改变,并且该方法还引入了较大的噪声和强度饱和效果,这导致图像细节的损失和不自然图像表现。这是由于传统的直方图均衡化方法没有考虑不同区域的图像特征,也没有顾及特殊区域的过度增强的情况,所以导致其产生的图像无法满足实际工业环境。
技术实现要素:
本发明的目的是一种基于图像强度阈值和自适应切割的图像增强方法,首先通过图像强度阈值对图像进行明暗区域分割,再基于像素点的个数进行直方图分割得到子直方图,然后基于中值像素数以及均值像素数采用自适应切割方式对直方图进行裁剪,避免出现单一使用中值像素数进行裁剪导致的图像信息丢失以及避免出现单一使用均值像素数进行裁剪导致的局部推向过度增强,进而使得增强后的图像不仅有完整的细节表现,并要与原始图像的内容最大程度保持一致。一种基于图像强度阈值和自适应切割的图像增强方法,其特征在于:包括如下步骤:
步骤1:获取图像亮度阈值,并根据图像亮度阈值将原图像直方图划分为暗区域直方图和亮区域直方图;
其中,暗区域的灰度值范围为[0,t],亮区域的灰度值范围为[t+1,l-1],t为图像亮度阈值,l为图像的最大灰度级值;
步骤2:将所述暗区域直方图和亮区域直方图分别分割为像素点个数各自均等的子直方图;
其中,所述暗区域直方图的各个子直方图的像素点个数相同,所述亮区域直方图的各个子直方图中的像素点个数相同;
步骤3:计算每个子直方图的中值像素数和均值像素数,并从所述中值像素数和均值像素数中选出每个子直方图的限幅阈值;
式中,ti、tim、tia分别为子直方图i的限幅阈值、中值像素数、均值像素数;
步骤4:利用每个子直方图的限幅阈值对相对应的子直方图分别进行横向切割得到新子直方图;
其中,切割规则如下:
式中,
步骤5:分别对步骤4得到的每个新子直方图进行均衡化处理得到图像增强后的新图像。
本发明首先根据图像亮度阈值将图像划分为暗区域和亮区域,再进一步针对暗区域和亮区域分别进行处理,即对不同亮度区域的图像采用了不同的处理公式,更加充分的考虑了图像之间的不同特征信息,避免同一处理而导致部分原始信息的丢失;此外,本发明中值像素数以及均值像素数采用自适应切割方式对每个子直方图分别进行横向裁剪,可以防止部分区域由于像素点过于集中而产生的过度增强,同时避免了出现单一使用中值像素数进行裁剪导致的图像信息丢失以及避免出现单一使用均值像素数进行裁剪导致的局部推向过度增强,进而使得增强后的图像不仅有完整的细节表现,并要与原始图像的内容最大程度保持一致。也通过不同数据库的大量图片测试验证了本方法不仅能在最大程度上保留图像的原始信息,而且引入的噪声较小,使处理后的图像具有更加自然的表现。
进一步优选,步骤3中子直方图的像素点灰度中值的计算公式如下:
tim=median[hi(k)],ai≤k≤bi
式中,median[hi(k)]为子直方图i区域内所有灰度级的中位数处对应的像素点个数,bi、ai分别为子直方图i区域内灰度值的最大值和最小值。
进一步优选,步骤3中子直方图的均值像素数的计算公式如下:
式中,bi、ai分别为子直方图i区域内灰度值的最大值和最小值。
进一步优选,步骤1中图像亮度阈值的计算公式如下:
式中,t为图像亮度阈值,l为图像的灰度级值,其中,参数gd与ga的计算公式如下:
式中,m表示图像中像素点(i,j)处的亮度,p(m)表示图像中亮度为m的像素点的个数。
进一步优选,步骤5中对每个新子直方图进行均衡化处理的过程如下:
首先,计算每个新子直方图中每个灰度值对应的概率密度函数;
式中,pi(k)为切割后的新子直方图i中灰度值k对应的概率密度函数,
然后,再基于每个新子直方图中每个灰度值对应的概率密度函数计算出每个新子直方图中每个灰度值对应的累积密度函数;
式中,ci(k)为切割后的新子直方图i中灰度值k对应的累积密度函数;
最后,利用如下转换函数对每个新子直方图进行均衡化处理;
fi(k)=(bi-ai)×[ci(k)-0.5pi(k)]+ai,ai≤k≤bi
式中,fi(k)为子直方图i中原始灰度值为k处经转换后的新灰度值。
进一步优选,步骤2中将所述暗区域直方图和亮区域直方图分别分割为2个子直方图。
其中,暗区域直方图的灰度值范围为[0,t],将暗区域直方图划分为2个子直方图,其灰度值范围分别为[0,tl]和[tl+1,t],若nl1和nl2分别表示灰度范围为[0,tl]和[tl+1,t]的像素点总数,那么nl1与nl2相等,同理,亮区域的灰度值范围为[t+1,l-1],将亮区域直方图划分为2个子直方图,其2个子直方图的灰度值范围分别为[t+1,tu]和[tu+1,l-1],若nu1和nu2分别表示灰度范围为[t+1,tu]和[tu+1,l-1]的像素点总数,那么nu1与nu2相等。
有益效果
1、本发明首先根据图像亮度阈值将图像划分为暗区域和亮区域,再进一步针对暗区域和亮区域分别进行处理,即对不同亮度区域的图像采用了不同的处理公式,更加充分的考虑了图像之间的不同特征信息,避免同一处理而导致部分原始信息的丢失;此外本发明中值像素数以及均值像素数采用自适应切割方式对每个子直方图分别进行横向裁剪,可以防止部分区域由于像素点过于集中而产生的过度增强,同时避免了出现单一使用中值像素数进行裁剪导致的图像信息丢失以及避免出现单一使用均值像素数进行裁剪导致的局部推向过度增强,进而使得增强后的图像不仅有完整的细节表现,并要与原始图像的内容最大程度保持一致。
2、经过不同数据库的大量图片测试,证明该方法不仅能在最大程度上保留图像的原始信息,而且引入的噪声较小,使处理后的图像具有更加自然的表现。本发明可以使处理后的图像的熵、峰值信噪比、绝对均值亮度误差、结构性相似指数均优于其他方法。
3、本方法算法操作简单,运算速度快,可以广泛运用于工业现场。
附图说明
图1是本发明实施例提供的一种基于图像强度阈值和自适应切割的图像增强方法的流程图;
图2是本发明实施例提供的裁剪前的直方图示意图;
图3是本发明实施例提供的裁剪后的直方图示意图;
图4是采用本发明所述方法处理后的图像与采用现有方法处理后的图像一个对比示意图,其中,(a)图均为原始图,(b)-(h)图分别对采用bbhe、dsihe、rsihe、bhepl、bhepl-d、mhe、esihe方法对原始图进行处理后的效果图,(i)图均为采用本发明提供的所述方法对原始图进行处理后的效果图;
图5是采用本发明所述方法处理后的图像与采用现有方法处理后的图像另一个对比示意图,其中,(a)图均为原始图,(b)-(h)图分别对采用bbhe、dsihe、rsihe、bhepl、bhepl-d、mhe、esihe方法对原始图进行处理后的效果图,(i)图均为采用本发明提供的所述方法对原始图进行处理后的效果图。
具体实施方式
下面将结合实施例对本发明做进一步的说明。
本发明提供的一种基于图像强度阈值和自适应切割的图像增强方法,能够最大程度地保留了原始图像的信息,并且充分考虑了图像的细节信息,降低了噪音水平。如图1所示,所述方法包括如下步骤:
步骤1:计算图像亮度阈值,并根据图像亮度阈值将原图像直方图划分为暗区域直方图和亮区域直方图;
其中,图像亮度阈值的计算公式如下:
式中,t为图像亮度阈值,l为图像的灰度级值,即为256;m表示图像中像素点(i,j)处的亮度,p(m)表示图像中亮度为m的像素点的个数。
图像亮度阈值t将图像分为暗区域和亮区域,其中暗区域的灰度范围为[0,t],亮区域的灰度范围为[t+1,l-1],如图2所示,以横坐标t作为分界处。
步骤2:直方图分割;本实施例中将暗区域直方图和亮区域直方图分别分割为像素点个数各自均等的2子直方图,进而得到4个子直方图。
如图2所示,针对暗区域直方图和亮区域直方图分别分割为2个子直方图,l1、l2分别为暗区域直方图的第一个子直方图和第二子直方图;u1、u2分别为亮区域直方图的第一个子直方图和第二子直方图,tl和tu分别为将灰度范围[0,t]的暗区域直方图和[t+1,l-1]的亮区域直方图依据像素点个数均等分割的像素值,也就是说,灰度范围[0,tl]的像素点个数与灰度范围为[tl+1,t]的像素点个数相同,[t+1,tu]和[tu+1,l-1]同样有相同的像素点个数。nl1和nl2分别表示灰度范围为[0,tl]和[tl+1,t]的像素点总数,则nl1与nl2相等,nu1和nu2分别表示灰度范围为[t+1,tu]和[tu+1,l-1]的像素点总个数,则nu1与nu2相等。因此如图2所示,最后,原始直方图被分为四部分,每一部分的灰度范围分别为[0,tl],[tl+1,t],[t+1,tu]和[tu+1,l-1]。应当说明,其他可行的实施例中,暗区域直方图和亮区域直方图划分的子直方图的数量可以为其他数值,本发明对此不进行具体的限定。应当理解,对暗区域直方图和亮区域直方图进行划分得到子直方图,以便后续对子直方图进行处理可以提高图像处理的效果,这是由于对图像进行更细致的划分,使得不同区域或者不同灰度级的图像应用到了不同的处理公式,得到了不同的处理效果,与其自身特征更加匹配。
步骤3:计算出每个子直方图的限幅阈值。
步骤4:对每个子直方图进行自适应剪裁。
直方图剪裁的目的是为了防止局部区域的过度增强,为了限制增强率,有必要限制直方图的一阶导数或直方图本身。如果直方图高于阈值,则进行剪裁。为了达到更好的效果,采取自适应裁剪的方法。其中,每个子直方图对应一个限幅阈值,本实施例中存在4个子直方图,则得到4个限幅阈值,具体的限幅阈值的计算公式如下:
首先,计算出子直方图的中值像素数tim:
tim=median[hi(k)],ai≤k≤bi
式中,median[hi(k)]为子直方图i区域内所有灰度级的中位数处对应的像素点个数,bi、ai分别为子直方图i区域内灰度值的最大值和最小值。例如灰度值0处有100个像素点,灰度值1处有300个像素点,灰度值2处有50个像素点,灰度值3处有10个像素点,灰度值4处有400个像素点,那么灰度级从0-4的灰度级中位数为灰度值2,其对应的像素点个数为50,即此时灰度级从0-4的子直方图的中值像素数为50。
本实施例中,四个子直方图的中值像素数如下所示:
然后,计算出子直方图的均值像素数tia:
本实施例中,四个子直方图的平均像素数如下所示:
最后,根据以下规则确定子直方图的限幅阈值;
式中,ti、tim、tia分别为子直方图i的限幅阈值、中值像素数、均值像素数。本实施例中,四个子直方图的限制阈值如下所示:
应当理解,中值像素数有时候可能为0,当我们以0去对直方图进行切割的时候,会导致图像产生严重的信息丢失。而完全采用均值像素数进行切割的时候,当局部亮度较大的时候,则会对局部图像产生过度增强。因此,本发明利用中值像素数与均值像素数进行适应性选择,以避免单一使用中值像素数或者单一使用均值像素数。
自适应剪裁时,采用如下切割规则:
式中,
切割后得到四个新的子直方图。如图3所示,是对图2中每个子直方图分别进行横向切割得到的新子直方图。
步骤5:分别对步骤4得到的每个新子直方图进行均衡化处理得到图像增强后的新图像。
首先,计算每个新子直方图中每个灰度值对应的概率密度函数;
式中,pi(k)为切割后的新子直方图i中灰度值k对应的概率密度函数,
然后,再基于每个新子直方图中每个灰度值对应的概率密度函数计算出每个新子直方图中每个灰度值对应的累积密度函数;
式中,ci(k)为切割后的新子直方图i中灰度值k对应的累积密度函数。例如,本实施例中,四个新子直方图中每个灰度值对应的累积密度函数如下所示:
最后,利用如下转换函数对每个新子直方图进行均衡化处理;
fi(k)=(bi-ai)×[ci(k)-0.5pi(k)]+ai,ai≤k≤bi
式中,fi(k)为子直方图i中原始灰度值为k处经转换后的新灰度值。例如,本实施例中对四个新子直方图中每个灰度值处的处理如下,其中新图像由四个子直方图分别增强后产生:
综上所述,本发明通过上述方法中使用图像强度阈值和自适应剪切,将原始图像的直方图分为多个子直方图,并对每部分分别进行均衡化处理。经过不同数据库的大量图片测试,证明该方法不仅能在最大程度上保留图像的原始信息,而且引入的噪声较小,使处理后的图像有更加自然的表现。
仿真与验证
如图4、图5所示,本发明为了验证上述方法的优越性,将其与其他图像处理方法(bbhe、dsihe、rsihe、bhepl、bhepl-d、mhe、esihe)进行比对得出如图4、图5所示的对比效果图;其中,图4和图5中的(a)图均为原始图,(b)-(h)图分别对采用bbhe、dsihe、rsihe、bhepl、bhepl-d、mhe、esihe方法对原始图进行处理后的效果图,(i)图均为采用本发明提供的所述方法对原始图进行处理后的效果图。从图4中的效果对比图来看,原始图像的纹理特征是模糊的,许多细节都被模糊了,从图中可以看出,采用he,bbhe和rsihe得出的图像结果是明显过度增强。虽然采用esihe得出的图像结果略微增强了纹理,但机翼和后地面的增强图像太暗,而本发明提出的方法的图像结果中图像内容是最丰富的并且具有平滑的纹理,使得增强的图像具有自然的外观。从图5中的效果对比图来看,针对图像“鱼”,本发明所提出的方法产生最自然的图像,其亮度基本上与原始图像相同。增强的图像具有最清晰的轮廓和最生动的细节,特别是与采用mhe方法得出的图像结果相比,它还具有图像中最丰富的细节,同时最大限度地降低了噪音水平。因此,验证了本发明不仅能在最大程度上保留图像的原始信息,而且引入的噪声较小,使处理后的图像有更加自然的表现。
此外,本发明还对berkeley数据库中400张图像的平均测试结果进行了统计,结果如下表1所示。从表1中得出,本发明所述方法获得了最大平均熵,即最大程度地保留了原始图像的信息,并且充分考虑了图像的细节信息。其psnr值最高,即在引入最小噪声水平时图像对比度得到很好的增强。其平均ambe值最小,即最佳保留原始图像的平均亮度。最后,其ssim值最高表明所提出的方法最佳地使图像失真最小化。
表1berkeley数据库中400张图像的平均测试结果
其中,entropy(信息熵)被广泛用于图像质量评价,它表示了图像细节的丰富程度。该值越大,证明图像的细节越丰富,图像质量越好。其表达式为:
其中p(k)是图像的概率密度函数。
entropy%(信息熵%)为处理后的信息熵除以原图的信息熵。
psnr(峰值信噪比)是一种客观的衡量的图像失真或噪声水平测量方法。该值越大,说明图像失真越少,图像噪声越小。其表达式为:
其中
x(i,j)是原始图像中点(i,j)处的灰度值;y(i,j)是新的图像中点(i,j)处的灰度值。
ambe(绝对亮度均值误差)用于判断处理前后两幅图像的平均亮度的变化。其表达式如下:
ambe=|e(x)-e(y)|
e(x)和e(y)分别是原始图像和新图像的平均亮度。
4、ssim(结构性相似)结合相关性失真,亮度失真和对比度失真来综合判断图像失真的程度,该方法也充分考虑到了图像像素间的关系。ssim的取值范围在0到1之间,该值越大,表示图像失真越小。
μx和μy分别是原始图像和新图像的平均亮度。σx和σy分别是原始图像和新图像的标准差。σxy是原始图像和新图像的协方差的平方根。c1和c2都是常数。
需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。