参考书:数字图像处理的MATLAB实现(第二版)冈雷萨斯
image = imread(file);
s = T ( r ) s = T(r) s=T(r)
g = imadjust(image,[low_in high_in],[low_out high_out],gamma)
整体函数表达意思
举个栗子
原图像图下:
g = imadjust(image,[0 1],[1 0]);
或
g = imcomplement(image);
得到结果如下:
g = imadjust(image,[0.5 0.75],[0 1]);
对于灰度在[0.5,0.75]之间的像素,将其等比例映射到[0,1]范围内,低于0.5的都会置为0,高于0.75的都会置为1.
得到效果如下:
Low_high = stretchlim(image);
g = imadjust(f,stretchlim(image),[ ]);
stretchlim可以通过压缩灰度图像的低端和拓展高端,产生效果和上述例2类似。
效果图:
stretchlim(image)实际返回的就是[low_in high_in],且它默认返回的是image中像素饱和度底部和顶部的1%,故和例2的[0.5,0.75]相比,图像显得暗了很多。
stretchlim通用语法格式:
stretchlim(image,tol)
tol默认值为[0.01 0.99],当tol为某单个标定值value,则image参数中的[low_in high_in]值分别为[value 1-value];如果指定tol为0,则image为像素饱和度会设置为[min(f(),max(f()]