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


这里写图片描述

posted on 2017-04-29 16:32  未雨愁眸  阅读(3417)  评论(0编辑  收藏  举报