指定对比度调整限制
您可以选择使用指定输入值和输出值的范围imadjust
.你在你传递给的两个向量中指定这些范围imadjust
作为参数。第一个向量指定要映射的低强度值和高强度值。第二个向量指定要映射它们的比例尺。
请注意
您必须将强度指定为0到1之间的值,而不管的类是什么我
.如果我
是uint8
,您提供的值乘以255,以确定实际使用的值;如果我
是uint16
,乘以65535。要了解自动设置这些限制的替代方法,请参见自动设置图像强度调整限制.
指定对比度调整限制为范围
方法将对比度调整限制指定为一个范围imadjust
函数。这个例子通过缩小数据的范围来降低图像的对比度。
将图像读入工作区。
我= imread (“cameraman.tif”);
调整图像的对比度,指定输出图像中使用的值的范围。在下面的例子中,这个男人的外套太黑了,以至于无法显示任何细节。imadjust
地图范围[0, 51]
在uint8
输入图像[128255]
在输出图像中。这大大提高了图像的亮度,也扩大了原始图像中黑暗部分的动态范围,使它更容易看到外套中的细节。但是,请注意,由于原始图像中高于51的所有值在调整后的图像中都映射为255(白色),因此调整后的图像看起来被冲淡了。
J = imadjust(I,[0 0.2],[0.5 1]);
显示原始图像和对比度调整后的图像。
imshowpair (I, J,“蒙太奇”)
自动设置图像强度调整限制
要更方便地指定限制,请使用stretchlim
函数。(imadjust
函数使用stretchlim
对于它最简单的语法,imadjust(我)
.)
该函数计算图像的直方图,并自动确定调整限制。的stretchlim
函数将这些值以分数形式返回到一个向量中,您可以将该向量作为[low_in high_in]
参数imadjust
;例如:
我= imread (“rice.png”);J = imadjust(I,stretchlim(I),[0 1]);
默认情况下,stretchlim
使用表示范围内底部1%(0.01)和顶部1%(0.99)的强度值作为调整限制。通过调整强度范围两端的极端值,stretchlim
在调整后的动态范围内为剩余的强度提供更多的空间。但是你可以指定其他的范围限制作为参数stretchlim
.