Существует ли надежная формула дельта-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. Я не ищу это.