【数字图像处理+MATLAB】对图片进行伽马校正(Gamma Correction):使用 imadjust 函数进行伽马变换
引言
伽马校正(Gamma Correction)是一种用于图像处理的技术,主要用于调整图像的亮度或对比度。其基本原理是对图像的每一个像素应用一个非线性变换,以更好地适应人眼的视觉感知。在数字图像处理中,伽马校正通常用于调整显示器的亮度和色彩。由于显示器的亮度和输入信号之间的关系并不是线性的,因此需要进行伽马校正以保证图像的正确显示。
imadjust
是MATLAB中的一个函数,用于调整图像的对比度。这个函数可以改变图像的亮度值分布,以此来改善图像的视觉效果。
函数详解
基本语法:
J = imadjust(I)
J = imadjust(I, [low_in; high_in])
J = imadjust(I, [low_in; high_in], [low_out; high_out])
J = imadjust(I, [low_in; high_in], [low_out; high_out], gamma)
J = imadjust(___,Name,Value)
参数详解:
I
: 输入图像,可以是灰度图像、RGB图像或者二值图像。low_in, high_in
: 定义输入图像的亮度值范围。默认情况下,low_in
为图像的最小亮度值,high_in
为图像的最大亮度值。low_out, high_out
: 定义输出图像的亮度值范围。默认情况下,low_out
为0,high_out
为1。gamma
: 控制图像的对比度调整程度,gamma
值越大,图像的对比度越高。默认情况下,gamma
为1,即线性对比度调整。
返回值详解:
J
: 调整后的图像。
应用案例
I = imread("Fig0307(a)(intensity_ramp).tif");
I = im2double(I);
figure;
subplot(2, 2, 1);
imshow(I, []);
title("Original image");
gamma = 0.5;
I2 = imadjust(I, [], [], gamma);
subplot(2, 2, 2);
imshow(I2, []);
title("gamma = 0.5");
gamma = 1;
I3 = imadjust(I, [], [], gamma);
subplot(2, 2, 3);
imshow(I3, []);
title("gamma = 1");
gamma = 2;
I4 = imadjust(I, [], [], gamma);
subplot(2, 2, 4);
imshow(I4, []);
title("gamma = 2");