Teoría del color: Cómo convertir Munsell HVC a RGB/HSB / HSL


Estoy viendo un documento que describe los colores estándar utilizados en odontología para describir el color de un diente. Ellos citan tono, valor, chroma valores, e indican que son de la descripción de Munsell de 1905 del color:

El sistema de notación de color desarrollado por A. H. Munsell en 1905 identifica el color en términos de tres atributos: TONO, VALOR (Brillo) y CROMA (saturación) [15]

HUE (H): Munsell matiz definido como el calidad por la que distinguimos uno color de otro. Seleccionó cinco colores principales: rojo, amarillo, verde, azul, y púrpura, y cinco colores intermedios: amarillo-rojo, verde-amarillo, azul-verde, morado-azul, y rojo-púrpura. Estos fueron colocados alrededor de un círculo de color en puntos iguales y los colores entre estos puntos son una mezcla de los dos, en favor del punto/color más cercano (ver Fig 1.).

texto alt

VALOR (V): Esta notación indica la luz u oscuridad de un color en relación con una escala de grises neutra, que se extiende desde el negro absoluto (símbolo de valor 0) a blanco absoluto (símbolo de valor 10). Esto es esencialmente qué 'brillante' es el color.

CROMA (C): Esto indica el grado de divergencia de un matiz dado de un gris neutro del mismo valor. El escala de croma se extiende desde 0 para a gris neutro a 10, 12, 14 o más, dependiendo de la fuerza (saturación) de la muestra evaluar.

Hay varios sistemas para categorizar el color, el sistema Vita es más comúnmente utilizado en odontología. Esto utiliza las letras A, B, C y D para anote el tono (color) del diente. El croma y el valor son ambos indicado por un valor de 1 a 4. A1 siendo más ligero que A4, pero siendo A4 más saturado que A1. Si se coloca en orden de valor, es decir, brillo, el orden del más brillante al más oscuro sería be:

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

Los valores exactos de Matiz, Valor y Se muestra croma para cada uno de los tonos abajo (16)

texto alt

Así que mi pregunta es, ¿puede alguien convertir Munsell HVC en RGB, HSB o 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

Dicen que el Valor(Brillo) varía de 0..10, lo cual está bien. Así que tomo 7.05 para significar 70.5%.

Pero ¿en qué se mide Hue? estoy acostumbrado a matiz ser medido en degrees (0..360). Pero los valores que veo serían todos rojos, cuando deberían ser más amarillos o marrones.

Finalmente, dice que Choma/Saturación puede variar desde 0..10...o aún mayor - lo que hace que suene como una escala arbitraria.

Entonces, ¿puede alguien convertir Munsell HVC a HSB o HSL, o mejor aún, RGB?

Author: Ian Boyd, 2010-09-01

7 answers

La especificación de tono que has dado aquí está incompleta (4.5 debería ser 4.5 Y etc). Dado que el enlace está muerto, si alguien está interesado, las especificaciones siguen vivas aquí: http://web.archive.org/web/20071103065312/http://lib.umich.edu/dentlib/Dental_tables/Colorshadguid.html

La única utilidad gratuita para la conversión de Munsell que pude encontrar fue esta:

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

Muy viejo como puedes ver, pero parece funcionar bien. Los programas actuales que pueden hacer esto no son gratuitos:

Los titulares actuales de los productos Munsell son X-Rite, probablemente también tienen algunas soluciones de conversión.

Además, tenga en cuenta que el enlace que proporcionó incluye definiciones para el mismo colores en otras coordenadas de color, a saber, Yxy y CIE l a b*. Ambos se pueden convertir libremente en línea en http://www.colorpro.com/info/tools/convert.htm o fuera de línea con este convertidor de color libre

 11
Author: Ohad Schneider,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-12-04 13:33:56

Está bastante involucrado. La respuesta corta es, la conversión de códigos Munsell en RGB implica la interpolación de datos empíricos en 3D que es altamente no lineal. El único conjunto de datos que está disponible públicamente se recopiló en la década de 1930. Los programas gratuitos o de bajo costo que he encontrado en la red han demostrado ser defectuosos. Yo escribí el mío. Pero me estoy adelantando. Empecemos con lo básico.

Los códigos de Munsell son diferentes en clase que los otros códigos, xyY, Lab y RGB. Munsell la notación describe el color de un objeto - lo que las personas experimentan cuando ven el objeto. (Isaac Newton fue el primero en darse cuenta de que el color está en el ojo del espectador. Munsell llevó a cabo extensos experimentos con sujetos humanos y dispositivos ingeniosos.

Los otros códigos, es decir, xyY, Lab*, y RGB, describen luz que ha rebotado en un objeto y ha pasado a través de una convolulación con un modelo matemático bastante simple de un ojo humano. Algunos términos de Google son "iluminante", "tri-estímulo" y " observador estándar CIE."

Munsell describe los colores de los objetos tal como se perciben bajo una amplia variedad de iluminantes. Otro término de Google es " adaptación cromática."La adaptación cromática en el cerebro es automática si la iluminación no es demasiado extraña. Es realmente notable. Tome un pedazo de papel para escribir afuera bajo un cielo azul. El papel parece blanco. Llévalo dentro y míralo bajo luces incandescentes (amarillentas). Todavía se ve ¡blanco! Munsell aprovechó empíricamente ese asombroso poder de procesamiento. Los códigos de Munsell también conservan el tono percibido en diferentes chromas. Un azul cielo y un azul polvo que Munsell asigna la misma notación de tono, por ejemplo, 5RP, parecerá que el humano típico con vista normal tiene el mismo tono. Más sobre eso en la nota al pie.

CIE xyY, Lab*, y RGB no significan nada a menos que se especifique un iluminante. La adaptación cromática para los iluminantes en el modelo matemático es computacionalmente complicado. (Aproximaciones ásperas pero simples se pueden hacer usando las " matrices de Bradford.") El RGB que usamos es por defecto "sRGB", que especifica un iluminante llamado D65. D65 es algo así como un día despejado al mediodía. Los números de laboratorio listados por la OP son probablemente relativos a D50, que es más como la luz de la tarde o de la mañana. Los números xyY pueden ser relativos a D50, o pueden ser relativos a un estándar antiguo llamado C. No voy a verificar. C era la luz de una iluminación estándar accesorio que era relativamente barato de construir en la década de 1930. Es obsoleto. Pero C juega un papel clave en la respuesta a la pregunta.

En la década de 1930, los científicos del color estaban desarrollando los modelos matemáticos. Una de las cosas que hicieron fue tomar un Libro de Color estándar de Munsell, brillar la luz iluminante-C en los chips de color en el libro, y registrar los datos en formato xyY. Ese conjunto de datos, llamado "Datos de Renotación de Munsell", es el único que está disponible gratuitamente. Otros seguramente existen, pero son secretos estrechamente guardados.

Buenas noticias. El conjunto de datos funciona bien. La autoridad de Munsell hoy es una compañía llamada Gretag Macbeth. Imagino que tienen datos voluminosos relacionados con los chips de color que venden. Los únicos números que sé que publican son los números D50 Lab y D65 sRGB para un pequeño conjunto de colores en sus tarjetas "Color Checker". Escribí un interpolador basado en los viejos datos de renotación. Está de acuerdo con los números para la tarjeta de Color Checker casi exactamente. Lamento informar que hasta ahora solo he escrito código para la conversión que va en la dirección opuesta a lo que solicitó el OP (hace un año, mientras escribo esto). Va de sRGB a Munsell. Hago clic en una imagen, y el programa muestra las notaciones sRGB y Munsell para el área en la que se hizo clic. Lo uso para pintar al óleo.

Mi programa" selector de color " -trabajo en curso

Nota al pie: CIE tiene un estándar que es análogo a Munsell. Se llama LCh subíndice con a, b. Es L ab * en polar coordinar. Los tonos están en grados. Los números de croma son aproximadamente 5 veces la C en Munsell HVC. LCh tiene sus problemas. Si alguna vez ha utilizado un editor de fotos para aumentar la intensidad del cielo, solo para ver el azul convertirse en púrpura, el programa probablemente estaba usando LCh. Cuando empecé a escribir mi programa, no sabía que Bruce Lindloom había hecho un trabajo paralelo a lo que yo estaba haciendo. Su sitio web fue invaluable para mí cuando terminé el proyecto. Diseñó un espacio al que llama UPLab, que es LCh enderezado para alinearse con Munsell. Ya había reinventado LCh y (esencialmente) UPLab antes de descubrir el sitio del Sr. Linbloom, pero su conocimiento del tema supera con creces el mío.

 15
Author: Jive Dadson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-23 23:58:52

Munsell Renotation System to sRGB Colourspace Conversion

Colour, nuestro paquete de código abierto Python colour science permite realizar esa conversión.

De Munsell Renotation System a CIE XYY Colourspace

Las siguientes dos definiciones basadas en el método Centore (2012) convierten entre Munsell Renotation System y CIE xyY espacio de color:

De CIE XYY Colourspace a sRGB Colourspace

Conversión de CIE xyY espacio de colores a sRGB espacio de colores se realiza en primer lugar la conversión a CIE XYZ tristimulus valores y, a continuación, a sRGB espacio de colores usando el siguiente definiciones:

Aplicación

Aquí hay un ejemplo completo anotado usando las definiciones anteriores:

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]

También puede realizar la conversión inversa de sRGB colorspace a 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,2 AÑOS 8.1/5.3

Referencias

  • Centore, P. (2012). Un algoritmo de inversión de código abierto para la renotación de Munsell. Color Research & Application, 37 (6), 455-464. doi: 10.1002 / col.20715
 9
Author: Kel Solaar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-26 03:37:51

Para completar, aquí está la archive.org versión de mi página, que contiene los colores en 3 espacios de color, Munsell, Yxy y 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

Referencias

  • 151 O'Brien, W. J., Groh, C. L., y Boenke, K. M. Una nueva ecuación de diferencia de color pequeño para los tonos dentales. J. Dent. Res. 69: 1762-1764, 1990.
  • 152 O'Brien, W. J., Groh, C. L., y Boenke, K. M. Datos no publicados. Facultad de Odontología de la Universidad de Michigan, Ann Arbor.
 6
Author: Ian Boyd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-12-04 15:10:14

Hay un paquete R gratuitomunsell que (entre otras cosas) convertirá los códigos Munsell a RGB:

R> library(munsell)
R> mnsl2hex("5PB 5/10")
[1] "#3B75BB"
 6
Author: Michael Dunn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-15 18:05:06

Hay una página que he encontrado aquí: munsell-to-rgb.blogspot.com eso parece estar haciendo exactamente lo que buscas. Parece inacabado en este momento, pero el propietario del blog planea actualizarlo regularmente con tantas conversiones de Munsell a RGB como pueda (¡y acepta solicitudes!).

Es increíble lo difícil que es encontrar tablas de conversión accesibles para estos sistemas de color; ¡esperamos que esta sea nuestra respuesta! : D

 4
Author: Jarordirt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-30 14:29:40

Llego tarde a la fiesta, pero encontré otro recurso que puede ser útil sobre este tema.

Alguien en el" Laboratorio de Ciencias del Color de Munsell " desenterró algunos datos de 1943 de Munsell, todos basados en la investigación de Munsell de la década de 1930: http://www.cis.rit.edu/research/mcsl2/online/munsell.php

La página se refiere a una hoja de cálculo de Excel con el subconjunto "solo colores reales" de los datos que se encuentran dentro del "límite de Macadam", lo que parece significar la gama de colores que realmente pueden aparecer sobre superficies reflectantes. El enlace de la hoja de cálculo no funciona, sin embargo, pero en una corazonada supuse que dejó fuera un nivel del árbol de directorios. Probé la URL http://www.cis.rit.edu/research/mcsl2/online/real_sRGB.xls worked y funcionó. (No me sorprendería si el propietario del sitio eventualmente lo nota y arregla el enlace, lo que probablemente rompa mi enlace.)

Me metí un poco con esa hoja de cálculo para que generara HTML para mostrarme los colores RGB, y agregué estos celdas a la hoja de cálculo:

<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>

La tabla necesita una línea cada una de las que comienzan con A2 hasta A1626, y una cada una de las otras.

Espero que esto ayude.

 3
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-13 02:34:32