Théorie des couleurs: comment convertir Munsell HVC en RGB/HSB/HSL

je regarde un document qui décrit les couleurs standard utilisées en dentisterie pour décrire la couleur d'une dent. Ils citent teinte , valeur , chroma valeurs", et indiquent qu'ils sont depuis 1905 Munsell description de la couleur:

le système de notation des couleurs développé par A. H. Munsell en 1905 identifie la couleur en termes de trois attributs: teinte, valeur (Luminosité) et CHROMA (saturation) [ 15 ]

HUE (H): Munsell définit Hue comme la qualité par laquelle nous distinguons un la couleur de l'autre. Il a choisi cinq principe de couleurs: rouge, jaune, vert, bleu, et pourpre; et cinq intermédiaire couleurs: jaune-rouge, vert-jaune, bleu-vert, bleu-violet, et rouge-violet. Ces ont été placés autour d'un cercle de couleur en des points égaux et les couleurs entre ces les points sont un le mélange des deux, dans préférence pour le point plus proche / la couleur (voir Fig 1.).

alt text

valeur (V): cette notation indique la légèreté ou l'obscurité d'une couleur relation avec une échelle de gris neutre, qui s'étend du noir absolu (symbole de valeur 0) en blanc absolu (symbole de valeur 10). Il s'agit essentiellement d' comment "lumineux" de la couleur.

CHROMA (C): indique le degré de divergence d'une teinte à partir d'un gris neutre de la même valeur. Le l'échelle de chrominance s'étend de 0 pour un gris neutre à 10, 12, 14 ou plus loin, selon la force (saturation) de l'échantillon à évaluer.

Il existe différents systèmes pour catégoriser la couleur, le système Vita est le plus couramment utilisé en dentisterie. Elle utilise les lettres A, B, C et d pour transcrire la teinte (couleur) de la dent. La colorimétrie et la valeur sont à la fois indiqué par une valeur de 1 à 4. A1 être plus léger que A4, mais A4 étant plus saturé que A1. Si elle est placée dans l'ordre de valeur, c'est-à-dire la luminosité, la l'ordre des plus brillants aux plus sombres serait be:

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

les valeurs exactes de teinte, valeur et Chroma pour chacune des nuances est indiqué ci-dessous ( 16 )

alt text

donc ma question Est, est-ce que quelqu'un peut convertir Munsell HVC en RGB, HSB ou 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

ils disent que la valeur(luminosité) varie de 0..10 , ce qui est bien. Donc je prends 7,05 pour dire 70,5%.

mais en quoi Hue se mesure-t-il? je suis habitué à teinte étant mesuré en degrees (0..360). Mais les valeurs que je vois seraient toutes rouges - quand elles devraient être plus jaunes, ou brunes.

enfin, il est dit que Choma / Saturation peut varier de 0..10 ...ou encore plus élevé - ce qui le fait sonner comme une échelle arbitraire.

est-ce que Quelqu'un peut convertir Munsell HVC en HSB ou HSL, ou mieux encore, RGB?

23
demandé sur Ian Boyd 2010-09-01 21:34:38

7 réponses

la spécification de teinte que vous avez donnée ici est incomplète (4.5 devrait être 4.5 Y etc). Puisque le lien est mort, si quelqu'un est intéressé, les spécifications sont encore en vie ici: http://web.archive.org/web/20071103065312/http://lib.umich.edu/dentlib/Dental_tables/Colorshadguid.html

la seule utilité gratuite pour la conversion de Munsell que j'ai pu trouver était celle-ci:

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

très vieux comme vous pouvez le voir, mais semble bien fonctionner. Les programmes actuels qui peuvent faire cela ne sont pas gratuits:

les supports actuels des produits Munsell sont X-Rite , ils ont probablement aussi quelques solutions de conversion.

en outre, notez que le lien que vous avez fourni inclut des définitions pour les mêmes couleurs dans d'autres coordonnées de couleur - à savoir Yxy et CIE l a b*. Les deux peuvent être convertis librement en ligne à http://www.colorpro.com/info/tools/convert.htm ou hors ligne avec ce convertisseur de couleur libre

11
répondu Ohad Schneider 2010-12-04 13:33:56

il est assez impliqué. La réponse courte est, convertir les codes Munsell en RVB implique l'interpolation de données empiriques en 3D qui est très non-linéaire. le seul ensemble de données accessible au public a été recueilli dans les années 1930. Les programmes gratuits ou peu coûteux que j'ai trouvés sur le net se sont avérés défectueux. J'ai écrit mon propre. Mais je suis sauter en avant. Nous allons commencer avec les bases.

Les codes Munsell

sont différents de ceux des autres codes. codes, xyyy, Lab et RGB. Munsell notation décrit la couleur d'un objet - ce que les gens éprouvent quand ils voient l'objet. (Isaac Newton fut le premier à réaliser que la couleur est dans l'oeil du spectateur. Munsell a mené des expériences approfondies avec des sujets humains et des dispositifs ingénieux.

les autres codes, i.e. xyyy, l a b*, et RGB, décrivent light qui a rebondi sur un objet et passé par convolution avec un modèle mathématique assez simple de l'oeil humain. Certains termes de google sont "illuminant", "tri-stimulus" et " CIE standard observer."

Munsell décrit les couleurs des objets tels qu'ils sont perçus sous une grande variété de lampes. Un autre terme de google est "adaptation chromatique."Adaptation chromatique dans le cerveau est automatique si l'éclairage n'est pas trop bizarre. Il est vraiment tout à fait remarquable. Prenez un morceau de papier machine à l'extérieur sous un bleu ciel. Le papier est blanc. Prenez-le à l'intérieur et regardez-le sous des lumières incandescentes (jaunâtres). C'est toujours blanc! Munsell a puisé empiriquement dans cette étonnante puissance de traitement. Les codes Munsell préservent également la teinte perçue à différents chromas. Un bleu ciel et un bleu poudre que Munsell attribue la même notation de teinte, par exemple 5RP, apparaîtra à l'humain typique avec une vision normale comme la même teinte. Plus que dans la note de bas de page.

CIE xyY, L a b*, et RVB ne signifient rien à moins qu'un illuminant ne soit spécifié. L'adaptation chromatique des illuminants dans le modèle mathématique est difficile sur le plan informatique. (Des approximations grossières mais simples peuvent être faites en utilisant les "matrices de Bradford.") Le RGB que nous utilisons est par défaut "sRGB", qui spécifie un illuminant appelé D65. D65 est comme un jour sans nuages à midi. Les numéros de laboratoire énumérés par L'OP sont probablement relatifs à D50, qui est plus comme la lumière de l'après-midi ou du matin. Les nombres de xyyy peut-être par rapport à la norme D50, ou peut-être par rapport à une ancienne norme appelée C. Je ne vais pas vérifier. C était la lumière d'un luminaire standard qui était relativement peu coûteux à construire dans les années 1930. Elle est obsolète. Mais C joue un rôle clé dans la réponse à la question.

Dans les années 1930, les spécialistes de la couleur ont été le développement de modèles mathématiques. Une des choses qu'ils ont fait était de prendre un livre Munsell standard de couleur, briller illuminant-C lumière sur la couleur puces dans le livre, et d'enregistrer les données dans xyY format. Cet ensemble de données, appelé "données de Renotation Munsell", est le seul qui soit disponible gratuitement. D'autres existent certainement, mais ce sont des secrets bien gardés.

bonne nouvelle. Le jeu de données fonctionne bien. L'autorité Munsell est aujourd'hui une société appelée Gretag Macbeth. J'imagine qu'ils ont des données volumineuses liées aux puces de couleur qu'ils vendent. Les seuls numéros qu'ils publient sont D50 Lab et D65 sRGB. pour un petit jeu de couleurs sur leurs cartes "Color Checker" . J'ai écrit un interpolateur basé sur les vieilles données de renotation. Il est en accord avec les nombres pour la carte de vérification de couleur presque exactement. J'ai le regret de vous informer que, jusqu'à présent, je n'ai que le code écrit pour la conversion qui va dans la direction opposée de ce que l'OP a demandé (Il ya un an, comme je le Dactylographie). Ça va de sRGB à Munsell. Je clique sur une image, et le programme affiche les notations sRGB et Munsell pour la zone cliqué sur. Je l'utilise pour la peinture à l'huile.

My "color-picker" program - work in progress

note de bas de page: la CIE a une norme analogue à celle de Munsell. Il est appelé LCh souscripted avec a, B. C'est l a B* EN Coordonnées polaires. Les teintes sont en degrés. Les nombres de Chroma sont environ 5 fois plus élevés que ceux de C dans le CVC de Munsell. LCh a ses problèmes, bien. Si vous avez déjà utilisé un rédacteur de photo pour pomper la vivacité du ciel, seulement pour voir le tour bleu pour Violet, le programme utilisait probablement LCh. Quand j'ai commencé à écrire mon programme, je n'étais pas au courant que Bruce Lindloom avait fait un travail qui ressemble à ce que je faisais. son site web a été inestimable pour moi que je finis le projet. Il a conçu un espace Qu'il appelle UPLab, qui est LCH straight out pour s'aligner avec Munsell. J'avais déjà réinventé LCh et (essentiellement) UPLab avant de découvrir le site de M. Linbloom, mais sa connaissance du sujet dépasse de loin la mienne.

15
répondu Jive Dadson 2012-09-23 23:58:52

Munsell Renotation System to sRGB Colourspace Conversion""

Colour , notre paquet open source Python colour science permet d'effectuer cette conversion.

De Munsell Renotation Système CIE xyY Colourspace

les deux définitions suivantes basées sur la méthode de Centore (2012) convertissent entre système de Renotation Munsell et CIE xyY colourspace:

de CIE XYY Colourspace à sRGB Colourspace

conversion de CIE xyyy colourspace en sRGB colourspace is done by first conversion to CIE XYZ tristimulus values and puis à sRGB colourspace en utilisant les définitions suivantes:

mise en Œuvre

voici un exemple complet annoté utilisant les définitions ci-dessus:

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]

vous pouvez également effectuer la conversion inverse de sRGB colourspace à 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 ans 8.1 / 5.3

Références

  • Centore, P. (2012). Un algorithme d'inversion open-source pour la renotation Munsell. La Couleur De La Recherche Et De L'Application, 37(6), 455-464. doi: 10.1002 / col.20715
9
répondu Kel Solaar 2015-07-26 03:37:51

pour être complet, voici le archive.org version de ma page, qui contient les couleurs en 3 colorspaces, Munsell, Yxy et 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

Références

  • 151 O'Brien, W. J., Groh, C. L., et Boenke, K. M. a new, small - color-difference equation for dental shades. J. Dent. Res. 69: 1762-1764, 1990.
  • 152 O'Brien, W. J., Groh, C. L., et Boenke, K. M. Unpublished data. L'université du Michigan School of Dentisterie, Ann Arbor.
6
répondu Ian Boyd 2010-12-04 15:10:14

il existe un paquet r gratuit munsell qui convertira (entre autres choses) les codes Munsell en RGB:

R> library(munsell)
R> mnsl2hex("5PB 5/10")
[1] "#3B75BB"
6
répondu Michael Dunn 2013-12-15 18:05:06

il y a une page que j'ai trouvée ici: munsell-to-rgb.blogspot.com qui semble faire exactement ce que vous cherchez. Il semble inachevé pour le moment, mais le propriétaire du blog prévoit de le mettre à jour régulièrement avec autant de conversions Munsell-to-RGB que possible (et il prend des requêtes!).

c'est étonnant à quel point il est difficile de trouver des tables de conversion accessibles pour ces systèmes de couleur; espérons que ce sera notre réponse! : D

4
répondu Jarordirt 2012-01-30 14:29:40

je suis en retard au parti, mais j'ai trouvé une autre ressource qui pourrait être utile sur ce sujet.

Quelqu'un au" Laboratoire des sciences de la couleur de Munsell "a déterré quelques données de 1943 de Munsell, toutes basées sur les recherches de Munsell des années 1930: http://www.cis.rit.edu/research/mcsl2/online/munsell.php

la page se réfère à une feuille de calcul Excel avec le sous-ensemble "couleurs réelles seulement" des données qui tombe dans la "limite Macadam", qui signifie la gamme de couleurs qui peuvent effectivement apparaître sur les surfaces réfléchissantes. Le lien de tableur ne fonctionne pas, cependant, mais sur une intuition que j'ai deviné qu'il a oublié un niveau de l'arbre de répertoire. J'ai essayé L'URL http://www.cis.rit.edu/research/mcsl2/online/real_sRGB.xls -- et ça a marché. (Je ne serais pas surpris si le propriétaire du site finit par le remarquer, et corrige le lien, qui est susceptible de briser mon lien.)

j'ai foiré avec ça tableur un peu pour le faire générer HTML pour me montrer les couleurs RVB, et a ajouté ces cellules à la feuille de calcul:

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

le tableau a besoin d'une ligne chacun de ceux qui commencent par A2 à A1626, et un chacun des autres.

j'espère que cela aidera.

3
répondu Steve 2013-09-13 02:34:32