Math RGB标准2.2伽马校正中的所有数字来自哪里?
以下是标准fwd伽马2.22(1/0.45)校正公式:Math RGB标准2.2伽马校正中的所有数字来自哪里?,math,colors,formula,gamma,Math,Colors,Formula,Gamma,以下是标准fwd伽马2.22(1/0.45)校正公式: for R,G,B < 0.018 R´ = 4.5 * R G´ = 4.5 * G B´ = 4.5 * B for R,G,B ≥ 0.018 R´ = 1.099 * R^0.45 - 0.099 G´ = 1.099 * G^0.45 - 0.099 B´ = 1.099 * B^0.45 - 0.099 R、G、Bg(x)的数字{a,b,c,x0}来解决,比如: g(x)=a*x^.45+b in[x0,1] g(x)
for R,G,B < 0.018
R´ = 4.5 * R
G´ = 4.5 * G
B´ = 4.5 * B
for R,G,B ≥ 0.018
R´ = 1.099 * R^0.45 - 0.099
G´ = 1.099 * G^0.45 - 0.099
B´ = 1.099 * B^0.45 - 0.099
R、G、B<0.018的
R´=4.5*R
G´=4.5*G
B´=4.5*B
对于R,G,B≥ 0.018
R´=1.099*R^0.45-0.099
G´=1.099*G^0.45-0.099
B´=1.099*B^0.45-0.099
数字0.18、4.5、1.099和0.099从何而来?我特别需要知道它们是如何推导出来的
我需要知道,因为我正在编写一个gamma校正函数,使用幂和缩放的简单方法,而不是上面的方法,会产生不同的结果。下面是我对它的理解 伽马校正功能的设计必须符合以下要求(参见):
- 0强度的电压必须为0
- 1强度的电压必须为1
- 它必须表现为接近强度1的幂函数(指数1/2.22=0.45)
- 它必须是接近原点的线性(以减少低强度下传感器噪声的影响)
- 它在[0,1]中必须是连续的且连续可微的
- g(x)=a*x^.45+b in[x0,1]
- g(x)=cxim[0,x0[
- g(1)=1
- g(0)=0
- lim{x->x0-}(g)=lim{x->x0+}(g)
- lim{x->x0-}(dg/dx)=lim{x->x0+}(dg/dx)
- a+b=1
- c*x0=a*x0^.45+b
- c=0.45*a*x0^-0.55
- a=1/(1-.55*x0^.45)
- b=-.55*x0^.45/(1-.55*x0^.45)
- c=.45*x0^-.55/(1-.55*x0^.45)
- a=1.099
- b=-.099
- c=4.5
我不确定这是否能解决你的问题,无论如何,我希望这能有所帮助(我在数学方面玩得很开心)。下面是我的计算结果 伽马校正功能的设计必须符合以下要求(参见):
- 0强度的电压必须为0
- 1强度的电压必须为1
- 它必须表现为接近强度1的幂函数(指数1/2.22=0.45)
- 它必须是接近原点的线性(以减少低强度下传感器噪声的影响)
- 它在[0,1]中必须是连续的且连续可微的
- g(x)=a*x^.45+b in[x0,1]
- g(x)=cxim[0,x0[
- g(1)=1
- g(0)=0
- lim{x->x0-}(g)=lim{x->x0+}(g)
- lim{x->x0-}(dg/dx)=lim{x->x0+}(dg/dx)
- a+b=1
- c*x0=a*x0^.45+b
- c=0.45*a*x0^-0.55
- a=1/(1-.55*x0^.45)
- b=-.55*x0^.45/(1-.55*x0^.45)
- c=.45*x0^-.55/(1-.55*x0^.45)
- a=1.099
- b=-.099
- c=4.5
不确定这是否能解决您的问题,无论如何,我希望这会有所帮助(我对数学很感兴趣)。您可能会想看一看。这是一本很棒的读物。这些是编码公式(传感器信号->字节),您确定这是您需要的更正吗?@Stéphane此公式是Intel IPP的直接副本。更正是正确的。我只是想知道这些数字是如何推导出来的。@JacquesCousteau谢谢……我来读一下。您可能会想看一看。这是一个很好的阅读。这些是编码公式(传感器信号->字节),您确定这是您需要的更正吗?@Stéphane此公式是Intel IPP的直接副本。更正是正确的。我只是想知道这些数字是如何推导出来的。@JacquesCousteau谢谢……我来读一下。谢谢@Stépahne。这当然是一个很好的开始。如果您将这两个公式应用于输入,0.018是近似的input值,其中两个公式产生相同的结果。这是意料之中的。现在,如何轻松找到这个交叉点?0.02更接近。找到交叉点应该有效,因为脚趾显然在交叉点结束。这引出了一个问题:为什么他们没有使用0.02,而是使用0.018?谢谢@Stépahne。这当然是一个伟大的交叉点艺术。如果将两个公式应用于输入,则0.018是两个公式产生相同结果的近似输入值。这是意料之中的。现在,如何轻松找到此交叉点?0.02更接近。找到交叉点应该有效,因为脚趾显然在交叉点处结束。这就引出了一个问题:他们为什么不使用0。02,但使用了0.018?