Существует ли перцептивное сравнение двух цветов DeltaRGB (например, как DeltaE2000)?

Существует ли надежная формула дельта-RGB или фрагмент кода, который вычисляет дельту цвета для полных значений тристимулятора RGB, например, как DeltaE 2000/cmc выполняет Lab/Lch, учитывающую воспринимаемые различия?

Цветовое пространство RGB может быть любым, но если оно должно быть конкретным, я могу оставить его в sRGB для расчетов. C# предпочтительнее, но я могу конвертировать с любого языка.

В настоящее время у меня есть очень простая дельта-формула RGB, но я хотел бы реализовать что-то, что дает более точное ощущение воспринимаемой разницы цветов. Текущее прямо сейчас

float delta = Math.Sqrt(Math.Pow(r1-r2, 2) + Math.Pow(g1-g2, 2) + Math.Pow(b1-b2, 2));

Это похоже на DeltaE 76 (лаборатория), но имеет те же недостатки, когда не учитывается разница в восприятии.

ПОЖАЛУЙСТА, не просто выполните поиск в Google и вставьте первое, что вы видите! Существует множество формул Delta RGB, которые можно найти, но они не принимают во внимание различия в восприятии. Если вы знаете об этом, прокомментируйте и/или вставьте любые ссылки на примеры кода. Кроме того, у меня уже есть преобразование из RGB в Lab/Lch, а затем в De2000/cmc. Я не ищу это.


person mattlant    schedule 14.10.2008    source источник
comment
Привет, вы придумали успешную формулу дельта-е, я просто изучаю это и хотел бы понять больше. моя электронная почта находится в моем профиле, если у вас есть время, чтобы связаться со мной. Спасибо.   -  person Mark Redman    schedule 20.04.2013
comment
Я установил небольшую библиотеку, которая сравнивает цвета с такими алгоритмами, как CIE76, CIE84, CMC l:C и DE2000. Все они преобразуются в другие пространства, так что это не отвечает на ваш вопрос... но, по крайней мере, это открытый исходный код и (я надеюсь) простой в использовании: var deltaE = myRgb.Compare(myOtherRgb,new Cie1976Comparison()); github.com/THEjoezack/ColorMine   -  person Joe Zack    schedule 25.09.2013


Ответы (2)


Боюсь, вы уже дали единственно правильный ответ: преобразование в перцептивное цветовое пространство, где имеет смысл простая дельта-формула.

Гениальные ученые-цветоведы уже более века пытаются ответить на вопрос о восприятии цветовых различий. Они искали простую формулу RGB, которая работает, но человеческое восприятие слишком сложно.

person palm3D    schedule 16.10.2008

На всякий случай, если вы их не нашли:

person Community    schedule 09.03.2009