亮度变换
函数imadjust
f = imread('breast_digital_Xray.tif');
g1 = imadjust(f,[0 1],[1 0]); %阴暗反转图像(负片图像),等同于 g1 = imcomplement(f)
g2 = imadjust(f,[0.5 0.75],[0 1]); %将0.5至0.75之间的灰度级扩展到范围[0,1]
g3 = imadjust(f,[ ],[ ],2); %有更多的灰色调,方法是压缩灰度级的低端并扩展灰度级的高端
subplot(2,2,1);imshow(f);title('原始乳房肿瘤图像');
subplot(2,2,2);imshow(g1);title('负片图像');
subplot(2,2,3);imshow(g2);title('亮度范围扩展为[0.5 0.75]后的图像');
subplot(2,2,4);imshow(g3);title('使用gamma=2增强图像后的图像');
对数和对比度拉伸变换
对数与对比度拉伸是进行动态范围处理的基本工具。对数变换通过如下表达式实现:
g = c * log ( 1 + double ( f ) )
当执行一个对数变换时,我们通常期望将压缩值还原为显示的全范围。对8比特而言,可使用语句:
gs = im2uint8 ( mat2gray ( g ) ) ;
使用函数mat2gray可将值限定在范围[0,1]内,使用函数im2uint8可将值限定在范围[0,255]内。
使用对数变换减小动态范围
f = imread('DFT.tif');
g = im2uint8(mat2gray(log(1+double