資源簡介
計算色溫
代碼片段和文件信息
function?[]?=?calTemp(cm1?cm2?cc1?cc2an?xyz1?xyz2)
????xyz2srgb?=?[3.2406?-1.15372?-0.4986;?-0.9689?1.8758?0.0415;?0.0557?-0.2040?1.057];
????srgb2xyz?=?[0.4124?0.3576?0.1805;?0.2126?0.7152?0.0722;?0.0193?0.1192?0.9595];
????%?ufraw?part?%
????xyz?=?[1?1?1];
????one?=?[1?1?1]‘;
????cm?=?cm2
????
????cam2xyz?=?cc2?*?cm?*?diag(xyz)
????cam2srgb?=?cam2xyz?*?xyz2srgb;
????num?=?sum(cam2srgb2)
????num?=?[num?num?num]
????cam2srgb?=?cam2srgb?./num
????pre_mul?=??one?./num(1:end1);
????pre_mul?=?pre_mul‘
????cam_mul?=?an.^-1
????srgb2cam?=?inv(cam2srgb)
????%?dcraw_set_color_scale?%
????post_mul?=?pre_mul;
????%?scale_colors_INDI?%
????post_mul?=?cam_mul
????%post_mul?=?[post_mul?post_mul(2)]
????dmax?=?max(post_mul)
????post_mul?=?post_mul?/?dmax
????%?ufraw_set_wb?%
????chanMul?=?post_mul
????rgbWB?=?srgb2cam?*?pre_mul‘./?chanMul‘?
????%for?test
????srgb2cam?=?cc2?*?cm?*?srgb2xyz
????rgbWB?=?inv(srgb2cam)?*?(an‘)
????%rgbWB?=?inv(cc2?*?cm2?*?srgb2xyz?.*?(an.^-1)‘)
????%for?test?end
????%?RGB_to_Temperature?%
????tmin?=?2000;
????tmax?=?23000;
????while?(tmax?-?tmin?>?0.1)
????????T?=?(tmax?+?tmin)?/?2
????????%?Fit?for?CIE?Daylight?illuminant
????????if?
評論
共有 條評論