Научный образовательный калькулятор цветовых различий или Color Difference с открытым кодом рассчитывает все необходимые дельты, применяемые в профессиональной работе с цветом, и представляет результат не только в виде чисел, но и в виде маленьких и крупных цветных патчей для удобства визуального сравнения. Преобразование Lab-координат в понятные браузеру RGB-hex-значения производится по формулам CIE 1976 года. Калькулятор вычисляет delta h, delta H или hue difference, delta E 1976, delta E 1994 с коэффициентами для искусства и промышленности, delta CMC l:c при соотношении lightness с chroma 1:1 (для определения порогов ощутимости) и 2:1 (для определения допусков), delta E 2000 с коэффициентами по умолчанию Kl, Kc, Kh = 1 и delta E 2000 с «офсетными» коэффициентами Kl, Kc, Kh = 0.67.
International Commission on Illumination (или сокращенно CIE из французского названия Commission Internationale de l'Eclairage) прямо говорит здесь и здесь, что параметрические факторы Kl, Kc, Kh при рассчете ΔE2000 могут быть изменены в различном промышленном применении и могут быть приспособлены к различным параметрам сравнения. При сравнении офсетных оттисков я предложил использовать параметрический офсетный фактор Kl, Kc, Kh = 0.67 для согласования размерности "продвинутой", использующей пять важных поправок, ΔE2000 и традиционной, привычной полиграфистам ΔE1976.
Каждое рассчитываемое калькулятором колориметрическое расстояние, называемое дельтой, по-своему интересно и каждая формула нашла свое применение в областях, связанных с цветовоспроизведением. Также для Вашего удобства рассчитываются производные от Lab координаты LChab где С – Chroma – хроматическая составляющая цвета и h – hue – цветовой тон, определяемый в градусах от 0° до 360° на цветовом круге. Возможен и обратный пересчёт из LChab в Lab.
В случае если введенные значения Lab (или LChab) выходят за границы охвата sRGB, по умолчанию используемого браузерами, калькулятор предупреждает о том, что цветовые патчи могут быть отображены на экране недостоверно. Также надо помнить, что отнюдь не все возможные Lab-координаты вписываются в воспринимаемое человеческим глазом цветовое пространство – Human Visual Space или HVS – и такие координаты, как, например, L0 a127 b127, хоть и будут как-то визуализированы строго по формулам CIE, однако такие координаты выходят за рамки HVS. Кроме того, значения для каналов RGB меньше нуля и превышающие единицу (*255) приравниваются к нулю и единице (*255) соответственно, однако в строке визуального сравнения и в окне крупного просмотра сравниваемых оттенков выводится предупреждение о том, что рассчетные значения выходят за границы охвата sRGB.
Например, координаты Lab D50 для красного, зеленого и синего первичных цветов пространства sRGB примерно равны: Red=L54 a80 b69, Green=L88 a-79 b80, Blue=L30 a67 b-111. Если превысить значения a и b или ввести другую светлоту L калькулятор выдаст предупреждение о том, что не может достоверно отобразить эти оттенки в понятном браузерам пространстве sRGB: в строке визуализации цветных патчей будет написано не Reference или Sample а Out of Gamut.
Также можно заметить, что обычный офсетный голубой L55 a-37 b-50 так же не вписывается в охват пространства sRGB. При отображении на обычном мониторе операционка разумеется сжимает его до воспроизводимого, но представленный калькулятор еще и предупреждает о том, что этот цвет вне гамута.
Обычно браузеры рассчитывают гамму как упрощенную степенную функцию V=v1/2.2. Однако гамма sRGB строго рассчитывается по более сложным формулам. Отличия заметны в глубоких тенях. Для Вашего удобства предоставлена возможность рассчитывать гамму обоими применяемыми способами для наилучшего отображения цветовых патчей в Вашем браузере. Если есть необходимость отобразить те же оттенки например в Photoshop не забывайте, что Photoshop, в отличие от браузеров, по умолчанию рассчитывает гамму sRGB а не гамму 2.2 для цветового пространства sRGB.
Калькулятор решает сразу две задачи: не только рассчитывает все необходимые дельты, но и дает возможность тут же увидеть разницу между сравниваемыми оттенками визуально.
Калькулятор поддерживает передачу параметров в адресной строке и оформляет сравниваемые патчи в виде простой ссылки для того, чтобы результатами сравнения можно было легко поделиться. Ссылка выводится во всплывающем окне при нажатии на кнопку «Показать все патчи крупным планом» или ссылка на одну пару сравниваемых патчей при нажатии на цветной патч. Например: сравниваются офсетный голубой и пурпурный, сравниваются красный и зеленый, сравниваются синий и офсетный желтый.
Для удобства работы возможны вычисления как Lab2LCh так и обратно – LCh2Lab. Имеется бонус специально для полиграфистов-офсетчиков: поля Reference можно автоматически заполнить значениями из стандарта ISO 12647-2.
Исполняемый сценарий калькулятора на 5% состоит из кода на JavaScript от Bruce Justin Lindbloom (формулы CIE). Мной добавлены функции LCh, delta h и delta H, спойлер со значениями Lab из стандарта ISO 12647-2, добавлена визуализация цветных патчей a-la Photoshop*, добавлена возможность передачи параметров сравниваемых патчей в адресной строке в виде линка**, написан ввод табличных данных в текстовом формате a-la Measure Tool с табуляторами или пробелами разделителями полей (июль 2011). Впервые обеспечена возможность сравнивать колориметрические таблицы разной длины и ширины путем автоматической выборки совпадающих по описанию патчей: весьма удобно, например, большую референсную таблицу из icc-профиля сравнивать с промерами небольшой произвольной контрольной шкалы. Так же предусмотрена возможность генерации подробного табличного отчета. Кнопка «Создать отчет» появляется после проведения хотя бы одного сравнения. По ссылкам приведены примеры отчетов в виде html-таблицы и в виде простой таблицы, готовой к экспорту в Exell. Чтобы не перегружать и без того широкую html-таблицу отчета еще минимум четырьмя колонками, координаты LChab выводятся во всплывающем облаке-подсказке при наведении мыши на координаты Lab.
Калькулятор ко всему прочему поддерживает ввод спектральных данных. По умолчанию такие таблицы пересчитываются в колориметрические координаты с параметрами: осветитель – D50, стандартный наблюдатель CIE - 2°. В колориметрические единицы Lab с другими параметрами спектральные данные можно перевести, воспользовавшись Спектральным калькулятором на JavaScript.
Исполняемый сценарий калькулятора занял 2000 строк кода и отлаживался в браузере Mozilla Firefox на Mac и PC попеременно, однако также немного тестировался на совместимость с другими интернет-навигаторами. Для тугодумов IE и Opera были приделаны отдельные костыли для каждого. О замеченных глюках не сочтите за труд написать разработчику.
* Учитывается хроматическая адаптация по Брэдфорду.
Пересчет ведется из Lab (D50, 2°, 0/45) в sRGB (D65, gamma 2.2 или sRGB).
** При сравнении больших таблиц длиной более 114 строк наступает ограничение сервера
на размер данных, передаваемых скрипту методом GET через адресную строку. Поэтому
результаты сравнения больших таблиц передаются методом POST и гиперссылкой на более
чем 114 сравниваемых патчей поделиться, к сожалению, нельзя: сервер ответит ошибкой
на такую длинную гиперссылку.