Найти, является ли значение RGB дополнительным или аналогичным другому значению RGB в Python? - PullRequest
0 голосов
/ 19 января 2019

У меня есть два номера 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)

Однако этот код не работает. Может ли кто-нибудь дать мне предложение или библиотеку, которую я мог бы использовать? Или какой-то код? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...