Продолжение: Нахождение точного “расстояния” между цветами

Для более сложных классов вы можете рассмотреть инструмент jsonpickle :

jsonpickle - это библиотека Python для сериализации и десериализации сложных объектов Python в JSON и из JSON.

Стандартные библиотеки Python для кодирования Python в JSON, такие как json, simplejson и demjson stdlib, могут обрабатывать только примитивы Python, которые имеют прямой эквивалент JSON (например, dicts, lists, string, ints и т. д.). ). jsonpickle строит поверх этих библиотек и позволяет сериализовать более сложные структуры данных в JSON. jsonpickle очень настраивается и расширяется, позволяя пользователю выбирать бэкэнд JSON и добавлять дополнительные бэкэнды.

blockquote>

(jsonpickle on PyPi)

47
задан Community 23 May 2017 в 12:17
поделиться

7 ответов

Преобразуйте в La*b* (иначе просто "Лаборатория", и Вы будете также видеть ссылку на "CIELAB"). Хороший быстрый measaure цветового различия

(L1-L2)^2 + (a1-a2) ^2 + (b1-b2), у ученых Цвета ^2

есть другие более усовершенствованные меры, которые не могут стоить беспокойства, в зависимости от точности, необходимой для того, что Вы делаете.

a и b значения представляют противостоящие цвета, в некотором роде подобные тому, как конусы работают, и могут быть отрицательными или положительными. Нейтральные цвета - белый, серые a=0, b=0. Эти L яркость, определенная конкретным способом, от нуля (чистая темнота) до что.

Сырое объяснение:>>, Учитывая цвет, наши глаза различают два широких диапазона длины волны - синий по сравнению с более долгими длинами волны. и затем, благодаря более свежей генетической мутации, более длинные конусы длины волны, раздвоенные в два, различая для нас красный по сравнению с зеленым.

Между прочим, будет замечательно для Вашей карьеры повыситься выше Ваших цветных коллег пещерного человека, которые знают только о "RGB" или "CMYK", которые являются большими для устройств, но сосут для серьезной работы восприятия. Я работал на ученых обработки изображений, которые не знали вещь об этом материале!

Для большего количества забавы, читающей на теории цветового различия, попробуйте:

[еще 1120] деталь о Лаборатории в http://en.kioskea.net/video/cie-lab.php3 я не могу в это время находить неужасную страницу, которая на самом деле имела формулы преобразования, но я уверен, что кто-то отредактирует этот ответ для включения того.

43
ответ дан gideon 26 November 2019 в 19:49
поделиться

HSL и HSV лучше для человеческого цветного восприятия. Согласно Википедия :

иногда предпочтительно в работе с художественными материалами, оцифрованными изображениями, или другими медиа, использовать HSV или цветовую модель HSL по альтернативным моделям, таким как RGB или CMYK, из-за различий в способах, которыми эмулируют модели, как люди чувствуют цвет. RGB и CMYK являются аддитивными и отнимающими моделями, соответственно, моделируя способ, которым световые сигналы основного цвета или пигменты (соответственно) объединяются для формирования новых цветов, когда смешано.

Graphical depiction of HSV

4
ответ дан Community 26 November 2019 в 19:49
поделиться

Статья Wikipedia о цветовых различиях списки много цветовых пространств и метрик расстояния, разработанных для согласия с человеческим восприятием цветных расстояний.

3
ответ дан palm3D 26 November 2019 в 19:49
поделиться

Может быть похожим на спам, но не, эта ссылка действительно интересна для цветовых пространств:)

http://www.compuphase.com/cmetric.htm

3
ответ дан Vincent Robert 26 November 2019 в 19:49
поделиться

Самое легкое расстояние должно было бы, конечно, просто рассмотреть цвета как 3-и векторы, происходящие из того же источника и берущие расстояние между их конечными точками.

, Если необходимо рассмотреть, такие факторы, настолько зеленые, являются более видными в оценке интенсивности, можно взвесить значения.

ImageMagic обеспечивает следующие масштабы:

  • красный: 0.3
  • зеленый: 0.6
  • синий: 0.1

, Конечно, значения как это только были бы значимы относительно других значений для других цветов, не как что-то, что будет значимо для людей, таким образом, все, для чего Вы могли использовать значения, будет упорядочиванием similiarity.

2
ответ дан angry person 26 November 2019 в 19:49
поделиться

Ну, как первая точка вызова, я сказал бы относительно общих метрик, HSV (Оттенок, Насыщенность и Значение) или HSL являются лучшим представителем того, как люди чувствуют цвет, чем говорят RGB или CYMK. См. HSL, HSV на Википедию .

я предполагаю наивно, что я вывел бы точки на печать в пространстве HSL для двух цветов и вычислил бы величину вектора различия. Однако это означало бы, что яркий желтый и яркий зеленый будут считать столь же отличающимся как зеленым к темно-зеленому. Но тогда многие рассматривают красные и розовые два различных цвета.

, Кроме того, векторы различия в том же направлении в этом пространстве параметров не равны. Например, человеческий глаз берет зеленый намного лучше, чем другие цвета. Сдвиг в оттенке от зеленого той же суммой как сдвиг от красного может казаться больше. Также сдвиг в насыщенности от небольшого количества для обнуления является различием между серым и розовым цветом, в другом месте сдвиг был бы различием между двумя оттенками красного цвета.

С точки зрения программистов, необходимо было бы вывести векторы различия на печать, но измененный матрицей пропорциональности, которая скорректирует длины соответственно в различных регионах пространства HSL - это было бы довольно произвольно и будет основано на различных цветных идеях теории, но будет настроено справедливо произвольно в зависимости от того, к чему Вы хотели применить это.

Еще лучше, Вы видели, сделал ли кто-либо уже такую вещь онлайн...

2
ответ дан Brendan 26 November 2019 в 19:49
поделиться

Как кто-то, кто является страдающим дальтонизмом, я полагаю, что хорошо попытаться добавить больше разделения тогда нормальное видение. Наиболее распространенная форма дальтонизма является красным/зеленым дефицитом. Это не означает, что Вы не видите красный или зеленый, это означает, что более трудно видеть и более трудный видеть различия. Таким образом, это берет большее разделение, прежде чем страдающий дальтонизмом человек сможет сказать различие.

2
ответ дан bruceatk 26 November 2019 в 19:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: