У меня есть два номера RGB. Я пытаюсь найти, совпадают ли цвета (в том смысле, что цвета одежды совпадают или совпадают).
Я пытаюсь создать функцию, которая проверяет, являются ли color1 и color2 аналогичными (или достаточно близкими / в пределах диапазона).
Мне также нужно создать функцию, которая проверяет, являются ли color1 и color2 дополнительными друг к другу.
Мой текущий код выглядит следующим образом:
from colormath.color_objects import sRGBColor, LabColor
from colormath.color_conversions import convert_color
from colormath.color_diff import delta_e_cie2000
from colorharmonies import Color, complementaryColor, triadicColor, splitComplementaryColor, tetradicColor, analogousColor, monochromaticColor
from math import sqrt
def isComp(color1, color2):
color1 = Color(color1, "", "")
comp = complementaryColor(color1)
diff = colDiff(comp, color2)
#print(diff)
return diff <= 20.0
def isAnalg(color1, color2):
color1 = Color(color1, "", "")
analg = analogousColor(color1)
diff1 = colDiff(analg[0], color2)
diff2 = colDiff(analg[0], color2)
#print(diff)
return diff1 <= 70.0 or diff2 <= 70.0
def colDiff(c1, c2):
# Red Color
color1_rgb = sRGBColor(float(c1[0]), float(c1[1]), float(c1[2]))
# Blue Color
color2_rgb = sRGBColor(float(c2[0]), float(c2[1]), float(c2[2]))
# Convert from RGB to Lab Color Space
color1_lab = convert_color(color1_rgb, LabColor)
# Convert from RGB to Lab Color Space
color2_lab = convert_color(color2_rgb, LabColor)
# Find the color difference
return delta_e_cie2000(color1_lab, color2_lab)
Однако этот код не работает. Может ли кто-нибудь дать мне предложение или библиотеку, которую я мог бы использовать? Или какой-то код? Спасибо.