ReinHard02算法

 

function rgb = tmo_reinhard02Globle(imgf, saturation)
% imgf-in double type,range(0,1)
% rgb-out double type, range(0,1)
 
lab = rgb2lab(imgf);% L:(0, 100)£¬a:(-128, 127), b(-128, 127)
Y = lab(:,:,1); 
% log-average luminance 
e=2.7183;
logavg = mean(e.^(log(0.00001 + Y(:))));
% a = 0.18;
minY = min(Y(:))*1.1;
maxY = max(Y(:))*0.9;
a = 0.18*4^((log2(logavg)-log2(minY)-log2(maxY)) / (log2(maxY)- log2(minY)));% reinhard03
L = a/logavg * Y;
Lwihte = max(L(:));
Ld = L .* (1+ L/(Lwihte^2))./ (1+L);
lab(:,:,1) = Ld*100;
% adjust saturation
if saturation ~= 1.0
    lab(:,:,2) = lab(:,:,2) * saturation;
    lab(:,:,3) = lab(:,:,3) * saturation;
end
 
rgb = lab2rgb(lab);
end

 

原始图

ReinHard02Globle, saturation=2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值