题目:选择合适的基本灰度变换模型及其参数,通过该变换增强测试图像EXP2C.tif的全局对比度。
说明:要求设置合适的模型参数,以保证对比度增强后的图像不会丢失过多的图像细节信息。
实现思路:
选择幂律(伽马)变换模型来增强图像的对比度,幂律变换的模型为
在实验中将用X来表示伽马值γ。
步骤:
1.将图像归一化为0~255的double的图像,以便计算;
2.将图像数据代入幂律变换公式C*(img .^ X)中,根据所给参数处理图像;
3.通过不断调整幂律变换的参数伽马值X,输出图像;
4.分别查看和对比不同参数输出的图像情况,找到一个最适合的伽马值;
5.分析处理结果:当伽马值X为3时,图像处理结果有点“偏淡”,即一些细节看不清;当伽马值X为4时,图像处理效果比较好,细节比较明显;当伽马值X为5时,图像处理结果中有些地方“太暗了”,效果没有伽马值X为4时好;
6.得出结论:通过比较各参数输出图像的对比度情况,得出参数伽马值X为4时处理效果最好。
实现效果:
在同一个图形界面上演示对比度线性拉伸前后的图像
图1 幂律变换各参数结果图
实现源代码:
function img2 = myImageMiLv(img1,C,X) img = im2double(img1); img2 = C*(img .^
X);%进行幂律变换 end clc; clear; img1 = imread('EXP2C.tif'); figure('NumberTitle',
'off', 'Name', '实验二 第二题'); subplot(2,2,1); imshow(img1); title('原始图像'); C = 1;
X = 3; img2 = myImageMiLv(img1,C,X); subplot(2,2,2); imshow(img2);
title(['C:',num2str(C),' X:',num2str(X)]); C = 1; X = 4; img2 =
myImageMiLv(img1,C,X); subplot(2,2,3); imshow(img2); title(['C:',num2str(C),'
X:',num2str(X)]); C = 1; X = 5; img2 = myImageMiLv(img1,C,X); subplot(2,2,4);
imshow(img2); title(['C:',num2str(C),' X:',num2str(X)]);
热门工具 换一换