У меня есть несколько цветов в RGB в [0,1], и я хочу найти способ оценить их сходство с точки зрения человека.
Я имею в виду две идеи, но я уверен, что есть и другие варианты, но я не уверен, что лучше, или, возможно, нет лучшего, а только компромиссы.
Моя первая идея - рассматривать цвета RGB как точки XYZ и вычислять их расстояние.
Другая идея, которую я имею, состоит в том, чтобы рассматривать значения RGB как гистограмму и использовать точечное произведение, чтобы получить значение сходства между ними, где большее значение лучше.
Однако я знаю, что не все цветовые каналы имеют одинаковую воспринимаемую яркость, поэтому, возможно, мне следует по-разному взвешивать цветовые каналы в обоих случаях?
Я также думаю, что, возможно, мне нужно будет выполнить коррекцию sRGB для значений цвета (например, sqrt для каждого цветового канала).
Я также знаю, что существуют другие цветовые пространства, так что, возможно, в одном из них было бы лучше дать значение сходства.
Другая проблема может заключаться в том, что разные дисплеи будут отображать одинаковые значения цвета по-разному. Не уверен, что это актуально в этом случае.
Кто-нибудь может предоставить некоторую помощь / направление?
Ответы:
Это огромный предмет, который можно найти под знаменем цветовой гаммы моделей . Почему это не строго более простое образование из-за психофизической природы цвета в том, что цвет не существует вне человеческого организма.
Лучший совет, так же как и криптография, не бросайте свой собственный; вы, вероятно, придете к неоптимальной системе, которая в лучшем случае будет поражать стены, уже пораженные другими исследователями в этой области. Если вы основываете свою работу на существующих моделях и исследованиях, вы можете найти ее более точной для своих нужд [1].
Можно указать на исторические события вокруг CAM, но здесь проще предложить вам изучить модель цветового кодирования IPT и ее цилиндрический эквивалент, который моделирует цвет и оттенок как угол. Эволюция модели IPT преодолевает большинство проблем предыдущей модели Lab и упрощает некоторые из работ, связанных с CIECAM02.
IPT и каждое цветовое пространство RGB в этом отношении закреплены в исследовании CIE 1931 года. Таким образом, такого рода проблемы решаются на более низком уровне.
[1] Этот расширенный ответ объясняется комментарием г-на Вулфа, приведенным ниже, в попытке объяснить, почему использование собственного решения может быть неоптимальным подходом.
источник
Если комплексная метрика приемлема, я бы предложил взглянуть на подход, основанный на восприятии, описанный здесь . Метрика предназначена для выбора восприятия разницы двух изображений. Для этого есть два основных теста: на основе яркости и цвета. Первый позволяет ответить на вопрос, насколько важно изменение яркости, оценивая неоднородный пороговый коэффициент на основе чувствительности к контрастным изменениям в зависимости от пространственных частот изображения. Второй основан на евклидовом расстоянии в цветовом пространстве CIE LAB, но немного изменен, чтобы сделать разницу в цвете менее важной, когда яркость находится в мезопическом и скотопическом диапазонах. Список документов, связанных с этой метрикой, можно найти здесь .
источник