Digital Image Processing(M):2.2.1 imadjust和stretchlim

来源:互联网 发布:穷人和富人的思维 知乎 编辑:程序博客网 时间:2024/06/05 06:45

灰度变换:

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

将low_in至high_in的值映射到low_out和high_out;low_in以下和low_out以上都会被截去。这四个参数都在[0 1]之间。

如果f是uint8,则imadjust通过乘255来实现。


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为2
g3 = 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: