golang中的math.Pow对这个论坛有用吗?

时间:2018-09-11 09:55:59

标签: go

公式:

C1*B+C2B^2+C3*G+C4*G*B+C5*G*B^2+C6*G^2+
C7*G^2*B+C8*R+C9*R*B+C10*R*B^2+C11*R*G+
C12*R*G*B+C13*R*G^2+C14*R^2+C15*R^2*B+
C16*R^2*G+C17*1+C18*R^3+C19*G^3+C20*B^3

开始:

var C1 = -0.0343
var C2 = 0.4062
...snipped

C1*B + C2*math.Pow(B, 2) + C3*G + C4*G*B +
C5*G*math.Pow(B, 2) + C6*G*math.Pow(G, 2) +
C7*math.Pow(G, 2)*B + C8*R + C9*R*B +
C10*R*math.Pow(B, 2) + C11*R*G + C12*R*G*B +
C13*R*math.Pow(G, 2) + C14*math.Pow(R, 2) +
C15*math.Pow(R, 2)*B + C16*math.Pow(R, 2)*G +
C17*1 + C18*math.Pow(R, 3) + C19*math.Pow(G, 3) +
C20*math.Pow(B, 3)

我所有的代码都能正常工作,但是我看到的值大于1,并且我期望值在01的范围内,因此我假设{ {1}}不是我应该使用的。 Go的新手,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您的RGB值不在公式要求的范围内。此公式适用于R,G和B分量,其数学上的正常范围是0(最暗)至1(最亮),而不是通常的计算机范围0(最暗)至255(最亮)。

在运行公式之前将RGB除以255.0。