对比增强技术
这个例子展示了如何使用强度值映射、直方图均衡化和限制对比度的自适应直方图均衡化来增强灰度图像和彩色图像的对比度。
有三个功能特别适合对比度增强:
imadjust
通过将输入强度图像的值映射到新的值来增加图像的对比度,这样在默认情况下,1%的数据在低强度和高强度的输入数据下饱和。histeq
执行直方图均衡化。它通过转换强度图像中的值来增强图像的对比度,以便输出图像的直方图近似匹配指定的直方图(默认为均匀分布)。adapthisteq
执行限制对比的自适应直方图均衡。不像histeq
,它对小数据区域(磁贴)而不是整个图像进行操作。增强每个贴图的对比度,使每个输出区域的直方图近似匹配指定的直方图(默认为均匀分布)。为了避免放大图像中可能存在的噪声,可以限制对比度增强。
增强灰度图像
将对比度较差的灰度图像读入工作空间。使用默认设置的三种对比度调整技术增强图像。
撅嘴=不读“pout.tif”);Pout_imadjust = imadjust(pout);Pout_histeq = histeq(pout);Pout_adapthisteq = adapthisteq(pout);
显示原始图像和三个对比度调整图像作为蒙太奇。
蒙太奇({撅嘴,pout_imadjust、pout_histeq pout_adapthisteq},“大小”,[1 4])原始图像和增强图像使用imadjust, histeq和adapthisteq)
将第二个灰度图像读入工作空间,并使用三种对比度调整技术增强图像。
轮胎=轮胎“tire.tif”);轮胎调整=轮胎调整(轮胎);泰瑞_histeq = histeq(轮胎);轮胎(轮胎);
显示原始图像和三个对比度调整图像作为蒙太奇。
蒙太奇({tire_histeq,轮胎,tire_imadjust tire_adapthisteq},“大小”,[1 4])“原始图像和增强图像的使用”+...“imadjust, histeq,和adapthisteq”)
请注意,imadjust
对轮胎的形象影响不大,但在撅嘴的情况下却引起了剧烈的变化。的直方图pout.tif
而且tire.tif
揭示了第一个图像中的大部分像素都集中在直方图的中心,而在的情况下tire.tif
时,值已经分布在最小值0和最大值255之间,从而防止imadjust
从有效地调节图像的对比度。
图subplot(1,2,1) imhist(pout)标题(tif直方图)次要情节(1,2,2)imhist(轮胎)“tif . tire直方图”);
另一方面,直方图均衡化实质上改变了这两个图像。许多以前隐藏的特征都暴露了出来,尤其是轮胎上的碎片颗粒。不幸的是,在同一时间,增强过度饱和的几个区域的两个图像。注意轮胎的中心,孩子脸的一部分,以及夹克是如何被洗掉的。
集中在轮胎的图像上,最好是车轮的中心保持相同的亮度,同时增强图像其他区域的对比度。为了实现这一点,必须对图像的不同部分应用不同的变换。对比限制自适应直方图均衡化技术,在adapthisteq
,就能做到这一点。该算法分析图像的部分并计算适当的转换。的基本直方图均衡化方法所引起的过饱和,也可以设置对比度增强水平的限制histeq
.这是本例中最复杂的技术。
增强彩色图像
彩色图像的对比度增强通常是通过将图像转换为具有图像亮度作为其组成部分之一的颜色空间来完成的,例如L*a*b*颜色空间。只对光度层L*进行对比度调整,然后将图像转换回RGB颜色空间。操纵亮度会影响像素的强度,同时保留原始颜色。
将对比度较差的图像读入工作区。然后,将图像从RGB颜色空间转换为L*a*b*颜色空间。
阴影= imread(“lowlight_1.jpg”);Shadow_lab = rgb2lab(shadow);
光度值的范围从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,和adapthisteq”)