主要内容

对比度增强技术

这个例子展示了如何使用几种方法增强灰度和真彩色图像。

提高灰度图像

三种功能特别适用于对比度增强:imadjusthisteq,adapthisteq.使用默认设置,比较这三种技术的效果:

  • imadjust通过将输入强度图像的值映射到新值来增加图像的对比度,这样,默认情况下,1%的数据在输入数据的低强度和高强度下都是饱和的。

  • histeq执行直方图均衡化。它通过变换强度图像中的值来增强图像的对比度,使输出图像的直方图近似匹配指定的直方图(默认为均匀分布)。

  • adapthiste执行对比度限制的自适应直方图均衡化。不像histeq,它对小数据区域(tiles)而不是整个图像进行操作。每个贴图的对比度被增强,以便每个输出区域的直方图与指定的直方图近似匹配(默认为均匀分布)。为了避免放大图像中可能存在的噪声,可以限制对比度增强。

将对比度差的灰度图像读取到工作区中。使用三种对比度调整技术增强图像。

撅嘴= imread (“pout.tif”);pout_imadjust = imadjust(撅嘴);pout_histeq = histeq(撅嘴);pout_adapthisteq = adapthisteq(撅嘴);

显示原始图像和三个对比度调整图像作为蒙太奇。

蒙太奇({撅嘴,pout_imadjust、pout_histeq pout_adapthisteq},“大小”[1 - 4])标题(使用imadjust, histeq和adapthisteq的原始图像和增强图像

图中包含一个轴对象。使用imadjust、histeq和adapthisteq的标题为Original Image和Enhanced Images的axis对象包含一个Image类型的对象。

读取第二个灰度图像到工作空间,并使用三种对比度调整技术增强图像。

轮胎= imread (“tire.tif”);tire_imadjust = imadjust(轮胎);tire_histeq = histeq(轮胎);tire_adapthisteq = adapthisteq(轮胎);

显示原始图像和三个对比度调整图像作为蒙太奇。

蒙太奇({tire_histeq,轮胎,tire_imadjust tire_adapthisteq},“大小”[1 - 4])标题(“原图及增强型图使用”+..."imadjust, histeq, and adapthisteq"

图中包含一个轴对象。使用imadjust、histeq和adapthisteq的标题为Original Image和Enhanced Images的axis对象包含一个Image类型的对象。

请注意,imadjust对轮胎的形象影响不大,但在噘嘴的情况下造成了巨大的变化。绘制的直方图pout.tiftire.tif显示第一个图像中的大部分像素都集中在直方图的中心,而在情况下tire.tif,这些值已经分布在最小的0和最大的255之间,从而防止imadjust从有效地调整图像的对比度。

图subplot(1,2,1)“pout.tif直方图”)子图(1,2,2)“tire.tif直方图”);

图中包含4个轴对象。标题为pout.tif的直方图的轴对象1包含一个类型为stem的对象。axis对象2包含2个类型为image, line的对象。标题为tire.tif的轴对象3包含一个类型为stem的对象。axis对象4包含2个类型为image, line的对象。

另一方面,直方图均衡化实质上改变了这两幅图像。许多以前隐藏的特征都暴露了出来,尤其是轮胎上的碎片颗粒。不幸的是,与此同时,增强过度饱和了两个图像的几个区域。注意轮胎的中心,孩子的脸的一部分,还有夹克都被洗掉了。

把注意力集中在轮胎的图像上,最好是让车轮的中心保持相同的亮度,同时增强图像其他区域的对比度。为了实现这一点,必须对图像的不同部分应用不同的变换。对比度限制自适应直方图均衡化技术,实现于adapthisteq,可以做到这一点。该算法分析图像的部分并计算适当的转换。还可以设置对比度增强水平的限制,从而防止基本直方图均衡化方法造成的过饱和histeq.这是本例中最复杂的技术。

提高彩色图像

彩色图像的对比度增强通常是通过将图像转换为以图像亮度作为其组成部分之一的颜色空间来完成的,例如L*a*b*颜色空间。只对亮度层L*进行对比度调整,然后将图像转换回RGB颜色空间。操纵亮度会影响像素的强度,同时保留原始颜色。

在工作区中读取对比度较差的图像。然后,将图像从RGB颜色空间转换为L*a*b*颜色空间。

影子= imread (“lowlight_1.jpg”);shadow_lab = rgb2lab(影子);

光度的取值范围为0 ~ 100。将值缩放到[0 1]的范围,这是具有数据类型的图像的预期范围

max_luminosity = 100;L = shadow_lab (:: 1) / max_luminosity;

在光度通道上进行三种对比度调整,保持a*和b*通道不变。将图像转换回RGB颜色空间。

shadow_imadjust = shadow_lab;shadow_imadjust (:: 1) = imadjust (L) * max_luminosity;shadow_imadjust = lab2rgb (shadow_imadjust);shadow_histeq = shadow_lab;shadow_histeq (:: 1) = histeq (L) * max_luminosity;shadow_histeq = lab2rgb (shadow_histeq);shadow_adapthisteq = shadow_lab;shadow_adapthisteq (:: 1) = adapthisteq (L) * max_luminosity;shadow_adapthisteq = lab2rgb (shadow_adapthisteq);

显示原始图像和三个对比度调整图像作为蒙太奇。

图蒙太奇({影子,shadow_imadjust、shadow_histeq shadow_adapthisteq},“大小”[1 - 4])标题(“原图及增强型图使用”+..."imadjust, histeq, and adapthisteq"

图中包含一个轴对象。使用imadjust、histeq和adapthisteq的标题为Original Image和Enhanced Images的axis对象包含一个Image类型的对象。

另请参阅

||

相关的话题