根据Bruce Lindbloom 的颜色计算器,使用您拥有的颜色值,如果您想获得 3.99 的 delta E,您应该在“纺织品”设置上使用CIE 1994 方程。
免费的 Python 实现:
import math
class Lab:
def __init__(self, l, a, b):
self.l = l
self.a = a
self.b = b
def cie1976(a, b):
dl = a.l - b.l
da = a.a - b.a
db = a.b - b.b
return math.sqrt(dl*dl + da*da + db*db)
def cie1994(x, y, isTextiles=True):
k2 = 0.014 if isTextiles else 0.015
k1 = 0.048 if isTextiles else 0.045
kh = 1
kc = 1
kl = 2 if isTextiles else 1
c1 = math.sqrt(x.a*x.a + x.b*x.b)
c2 = math.sqrt(y.a*y.a + y.b*y.b)
sh = 1 + k2*c1
sc = 1 + k1*c1
sl = 1
da = x.a - y.a
db = x.b - y.b
dc = c1 - c2
dl = x.l - y.l
dh = math.sqrt(da*da + db * db - dc*dc)
return math.sqrt((dl/(kl*sl))**2 + (dc/(kc*sc))**2 + (dh/(kh*sh))**2)
a = Lab(89.24, -0.6, 91.29)
b = Lab(81.61, -2.72, 87.59)
print cie1994(a,b)
结果:
3.99245887057