Существует ли надежная формула Delta RGB или фрагмент кода, который окрашивает Delta полных значений три стима RGB, например, как DeltaE 2000 / cmc делает Lab / Lch, который учитывает воспринимаемые различия?
RGB Colourspace может быть любым, но если он должен быть конкретным, я могу оставить его 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. Я не ищу этого.