1 图像直方图灰度级变换
图像直方图,就是图像中各个灰度级出现的频率分布图,可以通过对其改变实现图像整体or局部的亮度、对比度调节,从而实现改善人眼的图片信息接收(tips:不会增加图片本身的信息量哦,甚至会削减一部分图片信息)。
于此同时,我们在学习了“GLT”这一概念,即"Gray Level Transformation" ,就是简单而有效的图像增强技术——灰度级变换。
而灰度级变换函数可以有多种形式,包括线性变换、对数变换、伽马变换等,每种变换都有其特定的应用场景和效果,如何选择取决于原始图像的特性以及期望达到的图像增强效果。
下面就伽马变换和均衡化进行简要展示。
1.1 伽马变换
伽马变换也叫幂律变换,使直方图在某些区域拉伸而在其他区域压缩,同时改变图像的对比度。
γ = 0.7 时:
γ = 0.3 时:
(原图如下)
为了方便更改图片和γ值,将这一变换打包成函数
实现以上功能的代码如下:
I = imread('1.jpg');
gamma = 0.1; %%调节gamma值
I_gamma_rescaled = gammaTransform(I, gamma);
%imwrite(I_gamma_rescaled, './2.jpg');
histogram_original = calculateHistogram(rgb2gray(I));
histogram_gamma = calculateHistogram(I_gamma_rescaled);
subplot(2,2,1);
imshow(rgb2gray(I));
title('Original Image');
%显示原图及直方图
subplot(2,2,1);
imshow(rgb2gray(I));
title('原图');
subplot(2,2,2);
bar(0:255, histogram_original);
title('原图直方图');
xlabel('灰度级');
ylabel('频次');
subplot(2,2,3);
imshow(I_gamma_rescaled);
% imwrite(I_gamma_rescaled, 'D:/DIP LESSON/exp_1/2.png');
title('伽马变换后图片');
subplot(2,2,4);
bar(0:255, histogram_gamma);
title('伽马变换