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

这里写图片描述

版权声明:本文为mtcnn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mtcnn/p/9421598.html