灰度变换:imadjust and stretchlim

来源:互联网 发布:olay新生塑颜系列知乎 编辑:程序博客网 时间:2024/05/24 06:49

灰度变换:

g = imadjust(f, [low_in high_in], [low_out high_out], gamma)

如果fuint8,则imadjust通过乘255来实现。

low_inhigh_in的值映射到low_outhigh_outlow_in以下和low_out以上都会被截去。这四个参数都在[01]之间。

gamma默认为1,其映射如下:


其函数形式是:






s=crγ

                          

stretchlim可以生成一个二元素向量,该向量有一个低限和一个高限组成。LOW_HIGH = stretchlim(f)

 

MATLAB:

function f = Image_Negatives()f = imread('Fig0203(a).tif');imshow(f);%负片图像g1 = imadjust(f, [0 1], [1 0]);figure;imshow(g1);%将[0.5 0.75]扩展至[0 1]g2 = imadjust(f, [0.5 0.75], [0 1]);figure;imshow(g2);%gamma为2g3 = imadjust(f, [], [],2);figure, imshow(g3);%使用stretclim来对比度拉伸g4 = imadjust(f, stretchlim(f), []);figure, imshow(g4);g5 = imadjust(f, stretchlim(f), [1 0]);figure, imshow(g5);


f:

 

g1: = 255-f

 

g2: 

 

g3: