Теория цвета: Как конвертировать Munsell HVC в RGB / HSB / HSL - PullRequest
25 голосов
/ 01 сентября 2010

Я смотрю на документ, который описывает стандартные цвета, используемые в стоматологии для описания цвета зуба. Они указывают оттенок , значение , насыщенность цвета и указывают, что они из описания цвета Манселла 1905 года:

Система цветовой нотации разработанный А. Х. Манселлом в 1905 г. определяет цвет с точки зрения трех атрибуты: HUE, VALUE (Яркость) и CHROMA (насыщение) [ 15 ]

HUE (H): Munsell определил оттенок как качество, по которому мы выделяем один цвет от другого. Он выбрал пять Основные цвета: красный, желтый, зеленый, синий и фиолетовый; и пять промежуточные цвета: желто-красный, зелено-желтый, сине-зеленый, пурпурно-синий, и красно-фиолетовый. Они были размещены вокруг цветового круга в равных точках и цвета между ними точки представляют собой смесь двух, в пользу ближайшей точки / цвета (см. Рис 1.).

alt text

VALUE (V): это обозначение указывает на свет или темнота цвета в отношение к нейтральной серой шкале, который простирается от абсолютно черного (значение 0) до абсолютно белого (символ значения 10). Это по сути какой «яркий» цвет.

ХРОМА (С): Это указывает на степень расхождения данного оттенка от нейтральный серый того же значения. шкала цветности простирается от 0 для нейтрально-серый до 10, 12, 14 или дальше, в зависимости от силы (насыщенность) образца, который будет оценены.

Существуют различные системы для классификация цвета, система Vita чаще всего используется в стоматологии. Это использует буквы A, B, C и D для отметить оттенок (цвет) зуба. Цветность и значение оба обозначается значением от 1 до 4. A1 быть легче, чем А4, но быть А4 более насыщенный, чем А1. Если помещено в порядок значения, то есть яркость, порядок от самых ярких до самых темных быть:

A1, B1, B2, A2, A3, D2, C1, B3, D3, D4, A3,5, B4, C2, A4, C3, C4

Точные значения Hue, Value и Цветность для каждого из оттенков показана ниже ( 16 )

alt text

Итак, мой вопрос: может ли кто-нибудь конвертировать Munsell HVC в RGB, HSB или HSL?

Hue    Value (Brightness) Chroma(Saturation)
===    ================== ==================
4.5    7.80               1.7
2.4    7.45               2.6
1.3    7.40               2.9
1.6    7.05               3.2
1.6    6.70               3.1
5.1    7.75               1.6
4.3    7.50               2.2
2.3    7.25               3.2
2.4    7.00               3.2
4.3    7.30               1.6
2.8    6.90               2.3
2.6    6.70               2.3
1.6    6.30               2.9
3.0    7.35               1.8
1.8    7.10               2.3
3.7    7.05               2.4

Говорят, что значение (яркость) варьируется от 0..10, что нормально. Так что я беру 7,05, чтобы означать 70,5%.

Но что измеряется Hue? Я привык к оттенкам , измеренным в degrees (0..360). Но все значения, которые я вижу, будут красными - когда они должны быть более желтыми или коричневыми.

Наконец, говорится, что Чома / Насыщенность может варьироваться от 0..10 ... или даже выше - что делает его звучащим как произвольный масштаб.

Так может ли кто-нибудь конвертировать Munsell HVC в HSB или HSL или, что еще лучше, в RGB?

Ответы [ 8 ]

15 голосов
/ 24 сентября 2012

Это довольно сложно. Краткий ответ: преобразование кодов Манселла в RGB включает интерполяцию эмпирических данных в 3D, которые сильно нелинейны. Единственный общедоступный набор данных был собран в 1930-х годах. Бесплатные или недорогие программы, которые я нашел в сети, оказались ошибочными. Я написал свой. Но я забегаю вперед. Давайте начнем с основ.

Коды Манселла отличаются по типу от других кодов: xyY, Lab и RGB. Запись Манселла описывает цвет объекта - то, что люди испытывают, когда они видят объект. (Исаак Ньютон был первым, кто осознал, что цвет в глазах смотрящего.) Манселл провел обширные эксперименты с людьми и гениальными устройствами.

Другие коды, то есть xyY, L a b * и RGB, описывают light , который отскочил от объекта и прошел через свертку с довольно простой математической моделью человеческий глаз. Некоторые термины Google - это «источник света», «три стимул» и «стандартный наблюдатель CIE».

Манселл описывает цвета объектов, которые они воспринимают при самых разных источниках света. Другой гугл-термин - «хроматическая адаптация». Хроматическая адаптация в мозге происходит автоматически, если освещение не слишком странное. Это действительно довольно замечательно. Возьмите лист бумаги для печати снаружи под голубым небом. Бумага выглядит белой. Возьмите его в помещении и посмотрите на него под лампами накаливания (желтоватого цвета) Это все еще выглядит белым! Манселл эмпирически использовал эту удивительную вычислительную мощность. Коды Манселла также сохраняют воспринимаемый оттенок при разных цветах. Небесно-голубой и пудрово-голубой, которые Манселл назначает одинаковым обозначениям оттенка, например 5RP, будет казаться типичному человеку с нормальным зрением того же оттенка. Подробнее об этом в сноске.

CIE xyY, L a b * и RGB ничего не значат, если не указан источник света. Хроматическая адаптация осветительных приборов в математической модели является вычислительно сложной. (Грубые, но простые приближения могут быть сделаны с использованием «матриц Брэдфорда».) RGB, который мы используем, по умолчанию - «sRGB», который определяет источник света, называемый D65. D65 - это что-то вроде безоблачного дня в полдень. Числа лаборатории, перечисленные OP, вероятно, относятся к D50, который больше похож на дневной или утренний свет. Числа xyY могут быть относительно D50, или они могут быть относительно старого стандарта под названием C. Я не собираюсь проверять. C был свет от стандартного светильника, который был сравнительно недорогим в 1930-х годах. Это устарело. Но С играет ключевую роль в ответе на вопрос.

В 1930-х годах ученые-колористы разрабатывали математические модели. Одна из вещей, которые они сделали, - взять стандартную Книгу Цветов Манселла, зажечь световой индикатор C на цветных чипах в книге и записать данные в формате xyY. Этот набор данных, называемый «Данные Renotation Munsell», является единственным, доступным бесплатно. Другие, безусловно, существуют, но они держатся в секрете.

Хотя хорошие новости. Набор данных работает хорошо. Власть Манселла сегодня - это компания под названием Гретаг Макбет. Я предполагаю, что у них есть объемные данные, связанные с цветными чипами, которые они продают. Единственные известные мне номера, которые они публикуют, - это номера D50 Lab и D65 sRGB для небольшого набора цветов на их «Color Checker» картах. Я написал интерполятор, основанный на старых данных ренотации. Это почти точно согласуется с номерами для карты Color Checker. С сожалением сообщаю, что до сих пор я написал только код для преобразования, который идет в направлении, противоположном тому, что запрашивал OP (год назад, когда я печатал это). Это идет от sRGB до Munsell. Я нажимаю на изображение, и программа отображает нотации sRGB и Munsell для области, по которой щелкнули. Я использую его для масляной живописи.

My

Сноска. Стандарт CIE аналогичен Манселлу.Он называется ЛЧ, подписанным с a, b.Это L a b * в полярных координатах.Оттенки в градусах.Числа цветности приблизительно в 5 раз выше, чем в Munsell HVC.У ЛЧ есть свои проблемы.Если вы когда-либо использовали фоторедактор, чтобы повысить яркость неба, чтобы увидеть, как синий цвет превращается в фиолетовый, программа, вероятно, использовала LCh.Когда я начал писать свою программу, я не знал, что Брюс Линдлум сделал работу, параллельную тому, что я делал. Его веб-сайт был неоценим для меня, когда я закончил проект.Он спроектировал пространство, которое он называет UPLab, который выровняли по LCh, чтобы выровнять с Munsell.Я уже заново изобрел ЛЧ и (по сути) UPLab до того, как обнаружил сайт мистера Линблума, но его знание предмета намного превышает мое.

11 голосов
/ 04 декабря 2010

Спецификация оттенка, которую вы здесь указали, является неполной (4,5 должно быть 4,5Y и т. Д.). Поскольку ссылка мертва, если кому-то интересно, спецификации все еще здесь: http://web.archive.org/web/20071103065312/http://lib.umich.edu/dentlib/Dental_tables/Colorshadguid.html

Единственная бесплатная утилита для конвертации Манселла, которую я смог найти, была такая:

http://web.archive.org/web/20020809130910/standards.gretagmacbeth.com/cmc/munsell.exe

Очень старый, как вы можете видеть, но, кажется, хорошо работает. Текущие программы, которые могут сделать это, не бесплатны:

В настоящее время владельцами продуктов Munsell являются X-Rite , возможно, у них также есть некоторые решения для конвертации.

Кроме того, обратите внимание, что указанная вами ссылка содержит определения для тех же цветов в других цветовых координатах, а именно: Yxy и CIE l a b *. Оба могут быть свободно конвертированы онлайн на http://www.colorpro.com/info/tools/convert.htm или в автономном режиме с этим бесплатным конвертером цветов

9 голосов
/ 26 июля 2015

Система преобразования Munsell в sRGB Преобразование цветового пространства

Color , наш пакет с открытым исходным кодом Python Colour Science позволяет выполнить это преобразование.

От системы Renotation Munsell до CIE xyY Colourspace

Следующие два определения, основанные на методе Centore (2012), преобразуют между Munsell Renotation System и CIE xyY colourspace:

От CIE xyY Colourspace до sRGB Colourspace

Преобразование из CIE xyY цветового пространства в sRGB цветового пространства выполняется путем сначала преобразования в CIE XYZ трехцветных значений, а затем в sRGB цветового пространства используя следующие определения:

Осуществление

Вот полный аннотированный пример с использованием приведенных выше определений:

import colour

# The *Munsell Renotation System* colour we would like to convert
# to *sRGB* colourspace.
MRS_c = '4.2YR 8.1/5.3'

# The first step is to convert the *MRS* colour to *CIE xyY* 
# colourspace.
xyY = colour.munsell_colour_to_xyY(MRS_c)

# We then perform conversion to *CIE xyY* tristimulus values.
XYZ = colour.xyY_to_XYZ(xyY)

# The last step will involve using the *Munsell Renotation System*
# illuminant which is *CIE Illuminant C*:
# http://nbviewer.ipython.org/github/colour-science/colour-ipython/blob/master/notebooks/colorimetry/illuminants.ipynb#CIE-Illuminant-C
# It is necessary in order to ensure white stays white when
# converting to *sRGB* colourspace and its different whitepoint 
# (*CIE Standard Illuminant D65*) by performing chromatic 
# adaptation between the two different illuminant.
C = colour.ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['C']
RGB = colour.XYZ_to_sRGB(XYZ, C)

print(RGB)

[0,96820063 0,74966853 0,60617991]

Вы также можете выполнить обратное преобразование из sRGB цветового пространства в Munsell Renotation System :

import colour

C = colour.ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['C']

RGB = (0.96820063, 0.74966853, 0.60617991)

print(colour.xyY_to_munsell_colour(colour.XYZ_to_xyY(colour.sRGB_to_XYZ(RGB, C))))

4.2YR 8.1 / 5.3

Ссылки

  • Centore, P. (2012). Алгоритм обращения с открытым исходным кодом для ротации Манселла. Color Research & Application, 37 (6), 455–464. DOI: 10.1002 / col.20715
6 голосов
/ 26 апреля 2011

Существует бесплатный пакет R munsell, который (среди прочего) преобразует коды Манселла в RGB:

R> library(munsell)
R> mnsl2hex("5PB 5/10")
[1] "#3B75BB"
6 голосов
/ 04 декабря 2010

Для полноты, вот версия archive.org моей страницы, которая содержит цвета в 3 цветовых пространствах, Munsell, Yxy и Lab:

Vita shade-guide colors
_________________________________________________________________

         Munsell         Chromaticity
         notation        coordinates             CIE L* a* b*
         (ref 151)       (ref 152)               (ref 151)
      _____________  _____________________   ___________________
Shade  H    V  C       Y      x      y        L*      a*     b*
_________________________________________________________________

A1    4.5Y 7.80/1.7   55.92  0.3352 0.3459   79.57  -1.61  13.05
A2    2.4Y 7.45/2.3   49.95  0.3468 0.3539   76.04  -0.08  16.73
A3    1.3Y 7.40/2.9   48.85  0.3559 0.3593   75.36   1.36  19.61
A3.5  1.6Y 7.05/3.2   44.12  0.3627 0.3657   72.31   1.48  21.81
A4    1.6Y 6.70/3.1   38.74  0.3633 0.3658   68.56   1.58  21.00
B1    5.1Y 7.75/1.6   54.76  0.3336 0.3447   78.90  -1.76  12.33
B2    4.3Y 7.50/2.2   50.97  0.3437 0.3549   76.66  -1.62  16.62
B3    2.3Y 7.25/3.2   46.91  0.3611 0.3669   74.13   0.47  22.34
B4    2.4Y 7.00/3.2   43.38  0.3620 0.3678   71.81   0.50  22.15
C1    4.3Y 7.30/1.6   47.16  0.3361 0.3462   74.21  -1.26  12.56
C2    2.8Y 6.95/2.3   42.12  0.3487 0.3563   70.95  -0.22  16.72
C3    2.6Y 6.70/2.3   39.11  0.3499 0.3569   68.83  -0.01  16.68
C4    1.6Y 6.30/2.7   33.77  0.3600 0.3622   64.78   1.59  18.66
D2    3.0Y 7.35/1.8   48.71  0.3391 0.3473   75.27  -0.54  13.47
D3    1.8Y 7.10/2.3   44.48  0.3482 0.3534   72.55   0.62  16.14
D4    3.7Y 7.05/2.4   43.45  0.3492 0.3591   71.86  -1.03  17.77
_________________________________________________________________
H        hue
V        value
C        chroma
Y        lightness
x and y  hue and chroma
L*       lightness
a*       hue and chroma on a red/green scale
b*       hue and chroma on a yellow/blue scale

Ссылки

  • 151O'Brien, WJ, Groh, CL, и Boenke, KM Новое уравнение с малой разностью цветов для оттенков зубов.J.Dent.Местожительство69: 1762-1764, 1990.
  • 152 О'Брайен, WJ, Groh, CL, и Boenke, KM Неопубликованные данные.Школа стоматологии Мичиганского университета, Анн-Арбор.
4 голосов
/ 30 января 2012

Я нашел здесь страницу: munsell-to-rgb.blogspot.com , которая, кажется, делает именно то, что вы ищете. В данный момент он кажется незавершенным, но владелец блога планирует регулярно обновлять его, используя как можно больше конверсий Munsell-RGB (и он принимает запросы!).

Удивительно, как трудно найти доступные таблицы преобразования для этих цветовых систем; надеюсь, это будет нашим ответом! : D

3 голосов
/ 13 сентября 2013

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

Кто-то из "Научной лаборатории цвета Манселла" выкопал данные Манселя за 1943 год, все основанные на исследованиях Манселла 1930-х годов: http://www.cis.rit.edu/research/mcsl2/online/munsell.php

Страница относится к электронной таблице Excel с поднабором «только реальные цвета» данных, который находится в пределах «предела макадама», что, как представляется, означает гамму цветов, которые могут фактически появляться на отражающих поверхностях. Однако ссылка на электронную таблицу не работает, но, догадываясь, я догадался, что она пропустила один уровень дерева каталогов. Я попробовал URL http://www.cis.rit.edu/research/mcsl2/online/real_sRGB.xls - и это сработало. (Я не удивлюсь, если владелец сайта в конечном итоге заметит это и исправит ссылку, которая может сломать мою ссылку.)

Я немного поиграл с этой таблицей, чтобы она генерировала HTML, чтобы показать мне цвета RGB, и добавил эти ячейки в таблицу:

<table>
  .<colgroup> <col /> <col span="3" style="background-color:#eeeeee;" /> <col span="3" /> <col span="3" style="background-color:#eeeeee;" /> <col span="3" /> <col span="3" style="background-color:#eeeeee;" /> <col span="3" /> <col style="background-color:#eeeeee;" /> <col /> </colgroup>
  ="<tr> <th> "&A1&" </th> <th> "&B1&" </th> <th> "&C1&" </th> <th> "&D1&" </th> <th> "&E1&" </th> <th> "&F1&" </th> <th> "&G1&" </th> <th> "&H1&" </th> <th> "&I1&" </th> <th> "&J1&" </th> <th> "&K1&" </th> <th> "&L1&" </th> <th> "&M1&" </th> <th> "&N1&" </th> <th> "&O1&" </th> <th> "&P1&" </th> <th> "&Q1&" </th> <th> "&R1&" </th> <th> "&S1&" </th> <th> #RGB </th> <th> sample </th> </tr> "
  ="<tr> <td> "&A2&" </td> <td> "&B2&" </td> <td> "&C2&" </td> <td> "&D2&" </td> <td> "&E2&" </td> <td> "&F2&" </td> <td> "&G2&" </td> <td> "&H2&" </td> <td> "&I2&" </td> <td> "&J2&" </td> <td> "&K2&" </td> <td> "&L2&" </td> <td> "&M2&" </td> <td> "&N2&" </td> <td> "&O2&" </td> <td> "&P2&" </td> <td> "&Q2&" </td> <td> "&R2&" </td> <td> "&S2&" </td> <td> #"&T2&" <td style="&CHAR(34)&"background-color:#"&T2&"; width:2em;"&CHAR(34)&"> &nbsp; </td> </tr> "
  ="<tr> <td> "&A3&" </td> <td> "&B3&" </td> <td> "&C3&" </td> <td> "&D3&" </td> <td> "&E3&" </td> <td> "&F3&" </td> <td> "&G3&" </td> <td> "&H3&" </td> <td> "&I3&" </td> <td> "&J3&" </td> <td> "&K3&" </td> <td> "&L3&" </td> <td> "&M3&" </td> <td> "&N3&" </td> <td> "&O3&" </td> <td> "&P3&" </td> <td> "&Q3&" </td> <td> "&R3&" </td> <td> "&S3&" </td> <td> #"&T3&" <td style="&CHAR(34)&"background-color:#"&T3&"; width:2em;"&CHAR(34)&"> &nbsp; </td> </tr> "
  ="<tr> <td> "&A4&" </td> <td> "&B4&" </td> <td> "&C4&" </td> <td> "&D4&" </td> <td> "&E4&" </td> <td> "&F4&" </td> <td> "&G4&" </td> <td> "&H4&" </td> <td> "&I4&" </td> <td> "&J4&" </td> <td> "&K4&" </td> <td> "&L4&" </td> <td> "&M4&" </td> <td> "&N4&" </td> <td> "&O4&" </td> <td> "&P4&" </td> <td> "&Q4&" </td> <td> "&R4&" </td> <td> "&S4&" </td> <td> #"&T4&" <td style="&CHAR(34)&"background-color:#"&T4&"; width:2em;"&CHAR(34)&"> &nbsp; </td> </tr> "
  .
  .
  .
  ="<tr> <td> "&A1626&" </td> <td> "&B1626&" </td> <td> "&C1626&" </td> <td> "&D1626&" </td> <td> "&E1626&" </td> <td> "&F1626&" </td> <td> "&G1626&" </td> <td> "&H1626&" </td> <td> "&I1626&" </td> <td> "&J1626&" </td> <td> "&K1626&" </td> <td> "&L1626&" </td> <td> "&M1626&" </td> <td> "&N1626&" </td> <td> "&O1626&" </td> <td> "&P1626&" </td> <td> "&Q1626&" </td> <td> "&R1626&" </td> <td> "&S1626&" </td> <td> #"&T1626&" <td style="&CHAR(34)&"background-color:#"&T1626&"; width:2em;"&CHAR(34)&"> &nbsp; </td> </tr> "
</table>

Таблице нужна одна строка, каждая из которых начинается с A2 до A1626, и одна каждая из остальных.

Надеюсь, это поможет.

1 голос
/ 26 марта 2019

Несмотря на этот старый пост, чтобы обновить ответ Стива, вот «исправленные» ссылки на репозитории RIT данных Munsell:

https://www.rit.edu/cos/colorscience/rc_munsell_renotation.php

И прямая ссылка на электронную таблицу sRGBпреобразованные значения "настоящих" цветов Манселла:

http://www.rit -mcsl.org / MunsellRenotation / real_sRGB.xls

Это электронная таблица, которая включает преобразование из МанселлаОбозначение HVC для xyY, затем для XYZ_C, затем преобразованное в источник света D65, затем в sRGB с плавающей запятой, затем квантованное до 8-битных значений sRGB (которые они называют dRGB).

Что касается вопроса ОП: sRGB - это (очевидно,) аддитивная цветовая модель RGB.Но различия с другими цветовыми моделями, такими как вычитающая CMYK, достаточно сложны, чтобы «простой» алгоритм не справился с преобразованием - в то время как преобразования цветовой модели можно аппроксимировать с помощью матрицы, чаще всего LUT (таблица поиска) предпочтительнее,такие как LUT в профиле ICC или 3D LUT, используемые при производстве фильмов. (Не все профили ICC основаны на LUT, но IMO на основе LUT - это то, что здесь необходимо).

Данные Манселла, безусловно, попадают в эту категорию, поскольку они не только отличаются друг от друга.цветовая модель, это не только субтрактивная модель, она основана на восприятии, в то время как sRGB основана на простой взаимосвязи между красным, зеленым и синим светом.

Электронная таблица является полезной справочной таблицей, поэтомупрограмма для преобразования таких вещей, как ваша стоматологическая карта, в sRGB будет принимать эти данные и ссылаться на LUT, содержащийся в электронной таблице, и возвращать значения sRGB.

Примечание: Хочу для ясности отметить, что хотя некоторые преобразования цветового пространства или цветовой модели могут быть разумно выполнены с помощью алгоритма / матрицы, 3D LUT предпочтительнее, особенно когда LUT создаются из измеренных данные данной цветовой модели / пространства, которые отображают множество нелинейностей, присущих некоторым моделям.

Экстремальным примером является изображение sRGB на мониторе вашего компьютера по сравнению с тем, как это изображение печатается на бумаге и появляется на обложке журнала, расположенного на газетном киоске, освещенном флуоресцентным светом.Это требует 3D LUT для точного преобразования!

В индустрии художественных фильмов (где я в основном работаю) мы используем 3D LUT по всему конвейеру изображения, не только для преобразования / преобразования, но и для «просмотра» и дляприменение / эмуляция "выглядит".Например, снятие изображения, снятого цифровой камерой, и применение LUT определенного запаса пленки к этому изображению, чтобы оно выглядело как пленка.

...