基于matlab的数字图像处理--对比度增强

通过使用matlab将图片的对比度提升。程序如下:
% 通过灰度直方图的数据显示该图像的灰度值整体偏高,图像过于明亮,
% 所以选用 γ > 1 的伽马变换
% 降低图像的亮度,提升图片的对比度。
clc
img1 = imread('einstein.tif'); % 读入图像
imgdata = im2double(img1);

P1= 1 * (imgdata .^ 1.2);
P2= 1 * (imgdata .^ 1.4);
P3= 1 * (imgdata .^ 1.6);
P4= 1 * (imgdata .^ 1.8);
P5= 1 * (imgdata .^ 2.0);
img=mapminmax(imgdata, 0, 1);
figure
imhist(img);
title('灰度直方图');

figure
subplot(2,3,1);
imshow(img1)
title('原始图像');
subplot(2,3,2);
imshow(P1)
title('伽马变换:c=1,γ=1.2')
subplot(2,3,3);
imshow(P2)
title('伽马变换:c=1,γ=1.4')
subplot(2,3,4);
imshow(P3)
title('伽马变换:c=1,γ=1.6')
subplot(2,3,5);
imshow(P4)
title('伽马变换:c=1,γ=1.8')
subplot(2,3,6);
imshow(P5)
title('伽马变换:c=1,γ=2.0')

效果图:

基于matlab的数字图像处理--对比度增强_第1张图片

你可能感兴趣的:(数字图像处理)