色彩理论:如何将Munsell HVC转换为RGB/HSB/HSL

Ian*_*oyd 25 hsl rgb colors hsb color-theory

我正在查看描述牙科中用于描述牙齿颜色的标准颜色的文件.他们引用色调,,色度值,并指出它们来自1905年Munsell的颜色描述:

AH Munsell在1905年开发的颜色符号系统根据三个属性识别颜色:HUE,VALUE(亮度)和CHROMA(饱和度)[ 15 ]

HUE(H):Munsell将色调定义为我们将一种颜色与另一种颜色区分开来的质量.他选择了五种主要颜色:红色,黄色,绿色,蓝色和紫色; 五种中间色:黄红色,绿黄色,蓝绿色,紫蓝色和红紫色.它们被放置在相同点的色环周围,这些点之间的颜色是两者的混合,有利于更接近的点/颜色(见图1).

替代文字

VALUE(V):此符号表示颜色相对于中性灰度的亮度或暗度,中性灰度从绝对黑色(值符号0)延伸到绝对白色(值符号10).这实际上是颜色的"明亮"程度.

CHROMA(C):这表示给定色调与相同值的中性灰色的发散程度.根据要评估的样品的强度(饱和度),色度的范围从0变为中性灰色到10,12,14或更远.

有各种用于分类颜色的系统,Vita系统最常用于牙科.这使用字母A,B,C和D来表示牙齿的色调(颜色).色度和值均由1到4的值表示.A1比A4轻,但A4比A1更饱和.如果按照值(即亮度)的顺序放置,从最亮到最暗的顺序将是:

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

每种色调的色调,值和色度的确切值如下所示(16)

替代文字

所以我的问题是,任何人都可以将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
Run Code Online (Sandbox Code Playgroud)

他们说价值(亮度)不同0..10,这很好.所以我认为7.05意味着70.5%.

Hue衡量的是什么?我已经习惯了色相中被测量degrees(0..360).但我看到的价值都是红色的 - 当它们应该更黄或者棕色时.

最后,它说Choma/Saturation的范围可以从0..10...... 甚至更高 - 这使它听起来像一个任意比例.

那么有人能将Munsell HVC转换为HSB或HSL,还是更好的RGB?

Jiv*_*son 15

它涉及很多.简短的回答是,将Munsell代码转换为RGB涉及3D高度非线性的经验数据的插值.唯一公开的数据集是在20世纪30年代收集的.我在网上找到的免费或廉价程序已被证明是有缺陷的.我写了自己的.但我正在跳跃.让我们从基础开始.

Munsell代码的种类与其他代码xyY,Lab和RGB不同.Munsell符号描述了对象的颜色- 人们在查看对象时的体验.(Isaac Newton是第一个意识到颜色在旁观者眼中的人.)Munsell对人类主体和巧妙设备进行了广泛的实验.

其他代码,即xyY,L a b*和RGB,描述了从物体反弹并通过人眼相当简单的数学模型通过卷积的.一些谷歌术语是"光明","三刺激"和"CIE标准观察者".

Munsell描述了在各种光源下感知物体的颜色.另一个谷歌术语是"色彩适应".如果照明不太奇怪,大脑中的色彩适应是自动的.这真的非常了不起.在蓝天下拍一张打字纸.纸看起来很白.把它放在室内,在白炽灯(黄色)下看它.它仍然看起来很白!孟塞尔凭经验挖掘出惊人的处理能力.Munsell代码还保留了不同色度的感知色调.Munsell指定相同色调符号的天蓝色和粉蓝色,例如5RP,对于具有正常视力的典型人来说将是相同的色调.更多关于脚注的内容.

除非指定了光源,否则CIE xyY,L a b*和RGB 均无意义.在数学模型中对光源的色度适应在计算上是困难的.(粗略但简单的近似可以使用"Bradford矩阵"完成.)我们使用的RGB默认为"sRGB",它指定了一个名为D65的光源.D65就像中午无云的日子.OP列出的实验室编号可能与D50有关,更像下午或晨光.xyY数字可能与D50有关,或者它们可能与称为C的旧标准有关.我不打算检查.C是来自标准照明灯具的灯,在20世纪30年代相对便宜.它已经过时了.但C在这个问题的答案中起着关键作用.

在20世纪30年代,色彩科学家正在开发数学模型.他们所做的一件事就是采用标准的Munsell颜色书,在书中的彩色芯片上照射光源-C灯,并以xyY格式记录数据.该数据集称为"Munsell Renotation Data",是唯一可免费获得的数据集.其他人肯定存在,但他们是密切关注的秘密.

不过好消息.数据集运行良好.今天的Munsell当局是一家名为Gretag Macbeth的公司.我想他们有大量与他们销售的彩色芯片相关的数据.我知道他们发布的唯一数字是D50 Lab和D65 sRGB数字,用于"Color Checker"卡上的一小组颜色.我根据旧的注释数据编写了一个插补器.它几乎完全同意Color Checker卡的数字.我很遗憾地告诉我,到目前为止,我只编写了转换的代码,与OP请求的方向相反(一年前,我输入此内容).它从sRGB到Munsell.我点击一个图像,程序显示所点击区域的sRGB和Munsell符号.我把它用于油画.

我的

脚注:CIE有一个类似于Munsell的标准.它被称为LCh下标a,b.在极坐标中是L a b*.色调是度数.色度数约为Munsell HVC中C的5倍.但LCh有其问题.如果您曾经使用照片编辑器来提升天空的生动性,只看到蓝色变成紫色,程序可能正在使用LCh.当我开始编写程序时,我没有意识到Bruce Lindloom完成了与我正在做的工作相似的工作.当我完成项目时,他的网站对我来说非常宝贵.他设计了一个他称之为UPLab的空间,这是LCh整理出来与Munsell对齐.在我发现Linbloom先生的网站之前,我已经重新发明了LCh和(基本上)UPLab,但他对这个主题的了解远远超过我的.

  • 谢谢你的伟大解释!我不禁想知道你是否发布了程序的源代码以及它可以在哪里下载. (2认同)

Oha*_*der 11

你在这里给出的色调规范是不完整的(4.5应该是4.5Y等).由于链接已经死亡,如果有人有兴趣,规格仍然存在于此:http://web.archive.org/web/20071103065312/http: //lib.umich.edu/dentlib/Dental_tables/Colorshadguid.html

我能找到的唯一免费的Munsell转换工具是:

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在线自由转换或使用此免费颜色转换器离线转换


Kel*_*aar 9

Munsell Renotation系统到sRGB Colourspace转换

Color,我们的开源Python色彩科学包允许执行该转换.

从Munsell Renotation System到CIE xyY Colourspace

基于Centore(2012)方法的以下两个定义在Munsell Renotation SystemCIE 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)
Run Code Online (Sandbox Code Playgroud)

[0.96820063 0.74966853 0.60617991]

您还可以执行从sRGB colourspaceMunsell 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))))
Run Code Online (Sandbox Code Playgroud)

4.2YR 8.1/5.3

参考

  • Centore,P.(2012).Munsell注释的开源反演算法.色彩研究与应用,37(6),455-464.DOI:10.1002/col.20715


Ian*_*oyd 6

为了完整性,这里是我的页面的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
Run Code Online (Sandbox Code Playgroud)

参考

  • 151 O'Brien,WJ,Groh,CL和Boenke,KM一种用于牙齿色调的新的小色差方程.J.Dent.RES.69:1762-1764,1990.
  • 152 O'Brien,WJ,Groh,CL和Boenke,KM未公开数据.密歇根大学牙医学院,安娜堡.


Mic*_*unn 6

有一个免费的R包munsell,它将(除其他外)将Munsell代码转换为RGB:

R> library(munsell)
R> mnsl2hex("5PB 5/10")
[1] "#3B75BB"
Run Code Online (Sandbox Code Playgroud)