函数imadjust和strechlim

imadjust语法:

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

将 [low_in   high_in]映射到 [ low_out  hight_out ]之间的值。 [low_in   high_in]以外的值被截去。

gamma指定从图像f中的灰度值映射生成的图像g的曲线的形状。gamma<1,映射被加权至较高(亮)的输出值,反之相反。gamma=1默认为1(线性映射)。


imadjust

>> f= imread('D:\pictures\DIP3E_CH02_Original_Images\DIP3E_Original_Images_CH02\Fig0221(a)(ctskull-256).tif');

>> g1=imadjust(f,[0 1],[1,0]);%明暗反转得到负片

>> g=imcomplement(f);%和g1效果相同

>> g2=imadjust(f,[0.5,0.75],[0,1]);%将0.5-0.75之间的灰度拓展到整个区间[0,1]

>> g3=imadjust(f,[],[],2);%通过压缩灰度级的低端并扩展到高端

>> figure(1)

>> subplot(2,3,1);

>> imshow(f)

>> subplot(2,3,2);

>> imshow(g1)

>> subplot(2,3,3);imshow(g)

>> subplot(2,3,4);imshow(g2)

>> subplot(2,3,5);imshow(g3)

1原图 2和3负片 4灰度拓展至区间[0.5,0.75] 5使用gamma=2增强

有时候想要自动地使用函数imadjust而不关心参数的高低就可以使用stretchlim

stretchlim语法1:

Low_High = stretchlim(f)

其中Low_High是两个元素向量,用于实现对比度拉伸。默认情况下,Low_High中的值指定灰度级,这些灰度级充满f中底部和顶部1%的所有像素。该结果以向量[low_in   high_in]的形式用于函数imadjust。


>> s1=imadjust(f,stretchlim(f),[]);

>> s2=imadjust(f,stretchlim(f),[1,0]);

>> figure(1);

>> subplot(2,2,1);imshow(f)%原图

>> subplot(2,2,2);imshow(g)%imadjust负片

>> subplot(2,2,3);imshow(s1)%加强对比度原图

>> subplot(2,2,4);imshow(s2)%加强对比度负片

stretchlim对比
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容