【发布时间】:2017-03-10 09:23:02
【问题描述】:
我正在使用 python-colormath 来计算 Lab 颜色列表之间的色差 delta E 2000。
我有两个 pandas 数据帧(df1 和 df2),在每个数据帧中我记录了 Lab 值。
这是我的代码:
L1 = df1.L
a1 = df1.a
b1 = df1.b
L2 = df2.L
a2 = df2.a
b2 = df2.b
colors1 = LabColor(lab_l= L1, lab_a = a1, lab_b = b1)
colors2 = LabColor(lab_l= L2, lab_a = a2, lab_b = b2)
delta_e_76 = delta_e_cie1976(colors1, colors2)
>> TypeError: cannot convert the series to <class 'float'>
有没有办法将熊猫系列转换为 LabColor 类对象?
【问题讨论】:
-
colormath 尝试将 LabColors 的输入强制转换为浮点数 (
self.lab_l = float(lab_l)) -
您要使用 Delta E 2000 还是 1976?您说的是 2000,但您的代码使用的是 1976。
-
谢谢你的迈克尔,这对我帮助很大!我想实际使用两者,以便比较两个方程(1974 年和 2000 年)之间的差异。按照您使用颜色库的想法,我已经尝试过了,它有效! :)
-
太棒了!乐意效劳。如果您发现其中一个答案有用,请不要忘记将其标记为已接受。