首页 > 编程知识 正文

HDR像增强算法PQ Curve,像增强

时间:2023-05-05 07:33:43 阅读:200392 作者:4931

流程如下:

FFMPEG 提取16bitmhdct运用EOTF将16bitmhdct进行变换色调映射,imgTMO = ReinhardTMO(out);色彩校正,imgColor = ColorCorrection(imgTMO,1.2);gamma校正,imgOut = GammaTMO(imgColor, 2.2, 0, 1);%% EOTF linearization function C = transformEOTF(CV_full, isQuantify, nb)% CV_full is the component¡¯s full range digital code value% N: nonlinear Img% L: linear img% C: luminance cd/m2if strcmp(isQuantify, 'Quantify') bits= nb; maxV = 2^ bits; N = CV_full ./ (maxV-1);else N = CV_full;end m1 = 2610/4096* 1/4; %0.1593017578125m2 = 2523/4096*128; %78.84375c1 = 3424/4096; %0.8359375=c3-c2+1c2 = 2413/4096*32; %18.851625c3 = 2392/4096*32; %18.6875inv_m2 = 1/m2;inv_m1 = 1/m1;Npower = N.^ inv_m2;tmp = 0*Npower;numerator = max((Npower - c1), tmp);denominator = c2 - c3 .* (Npower);L = (numerator ./ denominator) .^ inv_m1; C = 10000 * L;% plot(N,L);end function imgOut = ColorCorrection(img, cc_s)% 色彩校正if(cc_s < 0.0) cc_s = 0.5;endL = lum(img);imgOut = zeros(size(img)); for i=1:size(img, 3) imgOut(:,:,i) = ((img(:,:,i) ./ L).^cc_s) .* L;end function imgOut = GammaTMO(img, TMO_gamma, TMO_fstop, TMO_view)% gamma 校正% TMO_gamma = 2.2;% TMO_fstop = 0.0;invGamma = 1.0 / TMO_gamma;exposure = 2.^TMO_fstop;%clamping values out of the range [0.0,1.0]imgOut = ClampImg((exposure .* img).^invGamma, 0, 1);if(TMO_view) imshow(imgOut);end

处理后mhdct

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。