Реализация CIEDE2000 на Microsoft Excel
| Количество посещений | 1 080 |
|---|---|
| Количество просмотренных файлов | 161 + 606 |
Здесь мы представляем электронную таблицу Excel, в которой реализована цветовая разница CIEDE2000 с помощью собственной однострочной формулы, без использования макросов или VBA. Реализация научно обоснована и включает тестовые пары для формул Гаурава Шармы и Брюса Линдблума. В общей сложности в двух отдельных таблицах представлены 18 значений ΔE00 (9 для Шармы и 9 для Линдблома). Формула учитывает особые случаи, например, "atan2(0, 0)", который корректно обрабатывается в столбцах S и T, чтобы гарантировать согласованное математическое поведение. Алгоритм надежно транскрибируется, а конечный результат CIEDE2000 точен как минимум до 10 знаков после запятой, что подтверждается реализацией в MATLAB (Шарма) и JavaScript (Линдблум) на 10 000 цветовых пар. Параметрические коэффициенты kL, kC и kH (столбцы G, H и I) прошли тщательную проверку и могут настраиваться построчно. Полная формула хранится в скрытых столбцах (от L до AM), а результат ΔE2000 отображается в столбце J. Столбец K содержит статический тест, который необходимо удалить после прочтения. Колонка AN (самая правая) выделена серым цветом, чтобы вам было проще развернуть формулу. Каждую строку можно копировать, вставлять или перемещать вниз для расширения вычислений, сохраняя при этом ее автономность.
Файл поставляется в простом формате XLS (Excel 97-2003) и использует только символы ASCII для максимальной совместимости. Вы можете воспользоваться им везде, где принимаются классические файлы Excel, например, в Google Sheets. Это колориметрическое решение предназначено для профессионалов, таких как Fogra и X-Rite, и, конечно, для всех, кто хочет оценивать ΔE00s точно и портативно.
Точность и надежность исходного кода
Разница между академической формулировкой Шармы и упрощенной формулировкой Линдблума не превышает ±0,0003 по конечному значению ΔE2000. Представленная здесь реализация является 64-разрядной и обеспечивает точность более 10 знаков после запятой; следовательно, выбор одной формулировки вместо другой является лишь техническим вопросом.
Как определить, является ли имеющаяся у меня реализация CIEDE2000 академической версией или упрощенной версией?
- Вычислите
ciede_2000(56.6, 43.6, 41.1, 68.4, 9.4, -8.6) - Если результат равен
30.0001, это академический тип (на Шармы или OpenJDK) - Если результат равен
29.9999, это упрощенный тип (на Линдблума или Netflix VMAF)
Диапазоны значений в CIELAB и интерпретация ΔE2000
В цветовом пространстве CIELAB компонент L* обозначает светлоту и обычно изменяется от 0 (черный) до 100 (белый). Компоненты a* и b* описывают цветовые оси: a* идет от зеленого к красному, а b* — от синего к желтому. На практике значения a* и b* почти всегда находятся в диапазоне от -128 до +127, хотя в стандарте официальные ограничения для этих двух компонентов не указаны.
| Цвет 1 | Цвет 2 | Значение ΔE2000 |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 |
| Цвет 1 | Цвет 2 | Значение ΔE2000 |
|---|---|---|
| 5 | ||
| 10 | ||
| 15 |
ΔE2000 (CIEDE2000) измеряет воспринимаемую разницу между двумя цветами: 0 означает идентичные цвета, а более высокие значения (до 185 и более) показывают большую разницу. Например, значение ΔE2000 около 5 означает близкие цвета, а около 15 — явно разные. Когда значение ΔE2000 превышает 40, сравниваемые цвета практически не имеют ничего общего, и мы больше не можем извлечь из них точной информации.
Файлы для загрузки
Не стесняйтесь использовать эти файлы, предоставленные Мишелем, даже в коммерческих целях.
| Файл | Размер | Количество кликов |
|---|---|---|
| ciede-2000.xls | 35 KB | 161 |
| reference-dataset.txt | 4 KB | 606 |
| Нажмите на xls.zip, чтобы скачать все эти файлы в архиве. | ||
Сообщество
Что вы думаете об этом исходном коде или CIEDE2000? Ваше мнение очень важно для нас! В гостевой книге уже 9 сообщений, в том числе 1 на русском языке. Посмотрите и поделитесь своим мнением.