通过使用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')
效果图:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117079.html