matlab 内置实现:imadjust

Gamma Correction

gamma correction formula : .^(gamma) or .^(1/gamma)?

用以调整图像光照强度的非线性操作,其数学形式为:

Vout=AVγin
  • Vin:非负实数值,比如为图像像素;
  • A:某一常数,通常情况下取值为 1,输入输出的范围一般为 [0, 1];
    • γ<1:光照强度变强,称为 gamma compression
    • γ>1:光照强度变弱,称为 gamma expansion
function gammaCorrection(name, a, gamma)
r = imread (name);
r=im2double(r);
r=rgb2gray(r); % 当输入是灰度图像时,删除该句;
s = a * (r .^ gamma);
subplot (1 ,2 ,1), imshow(r), title('Original');
subplot (1 ,2 ,2), imshow(s), title(sprintf('Gamma: %0.1f',gamma));
end

Gamma correction 伽马校准及 matlab 实现-LMLPHP

05-11 19:48