【图像处理Matlab】2 灰度变换 imadjust stretchlim

时间:2024-01-20 22:54:39
  f=imread('123.tif');       % 读入一幅图片
  g=imadjust(f,[ ],[ ]);  % 负片显示

 【imadjust】 

imadjust(f, [low_in high_in],[low_out high_out],gama)

此处low_out=1 > high_out=0 所以输出的灰度被反转,故而是负片

注意:除了f 、gama  所有输入值都被限定在0 1之间

下图显示gama在输入和输出灰度之间的指数关系

【图像处理Matlab】2 灰度变换 imadjust stretchlim

【imcomplement】补充

 s=imcomplement(f); % 负片显示的另一种方法

【stretchlim 对比度拉伸】stretch伸展  limit限制

不想关心imadjust 的参数 [low_in high_in],[low_out high_out],偷了个懒,使用:

low_high=stretchlim(f)  %对比度拉伸,是一个两元素的向量
g=imadjust(f,low_high,[])

可见下图执行之后,对比度提升

【图像处理Matlab】2 灰度变换 imadjust stretchlim

更普通的用法

low_high=stretchlim(f,tol)

tol:  指定 用低像素值和高像素值充满的图像部分

默认值是[0.01 0.99], 饱和级别2%

   tol=[low_frac high_frac]

tol 可以是小于1的标量,则

low_frac=tol

   high_frac=1-tol

若选择tol=0 ,则low_high=[min(f(:))  max(f(:))]