function XYZToColorTemperature(X, Y, Z: Double): Double;
var
n, u, v, duv: Double;
begin
// Normalize XYZ values
n := X + Y + Z;
if (n = 0) then
Exit(0);
X := X / n;
Y := Y / n;
Z := Z / n;
// Calculate u and v values
u := (4 * X) / (-2 * X + 12 * Y + 3);
v := (9 * Y) / (-2 * X + 12 * Y + 3);
// Calculate duv (distance from Planckian locus)
duv := 0;
if (u - 0.20917 * v) > 0.46228 then
duv := (u - 0.20917 * v - 0.46228) / 0.02
else if ((0.08067 * v - u) > 0.17697) then
duv := (0.08067 * v - u - 0.17697) / 0.02;
// Calculate color temperature
Result := (1.0 / ((-4.607 * duv + 2.9672) * 1e-3) + 1.0 / 500) * 1e3;
end;
2023年4月12日 星期三
XYZ 轉色溫的方式
訂閱:
張貼留言 (Atom)
-
FI MODE DEALER MODE (FI MODE code ) BLACK W/ GREEN BAND Wire with a WHITE STRIPE and a WHITE W/ GREEN BAND Wire with a RED STRIPE 黑底白細條 白底紅細...
-
解答來自於 Grok 2 Q: MTF 50 & MTF 30 的計算方式. 如果知道 一張 1080p 的照片 黑白 由 10% ~90% 需要1.5 個pixel. 這樣 MTF50 & MTF30 推算是多少? A: MTF (Modulation Tra...
-
重機 隱藏式大燈開關 剛剛裝到我的 GSR600 達到預期效果!! 還不錯 GSR600 電門開啟. 大燈沒點亮. 發動後 按一下 PASS 燈(遠光閃光) 就啟動近燈. 近燈就恒亮. 如果要關掉近燈 就按一下 發動紐. (GSR600 電發紐 是有玄機的GSR 要發動 必須...
沒有留言:
張貼留言