web-dev-qa-db-ja.com

色理論:マンセルHVCをRGB / HSB / HSLに変換する方法

歯の色を説明するために歯科で使用される標準的な色を説明しているドキュメントを見ています。 huevaluechromaの値を引用し、それらが1905年のマンセル色の説明:

A. H.マンセルが1905年に開発した色表記のシステムは、HUE、VALUE(明るさ)、CHROMA(彩度)の3つの属性で色を識別します[ 15 ]

色相(H):マンセルは、色相を、ある色を別の色と区別する品質として定義しました。彼は5つの主要な色を選択しました:赤、黄、緑、青、紫。 5つの中間色:黄-赤、緑-黄、青-緑、紫-青、赤紫。これらは、等しい点でカラーサークルの周りに配置され、これらの点の間の色は、より近い点/色を優先して、2つの混合です(図1を参照)。

alt text

VALUE(V):この表記は、ニュートラルグレースケールに関連した色の明暗を示し、絶対黒(値記号0)から絶対白(値記号10)まで伸びます。これは本質的に色が「明るい」程度です。

クロマ(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

alt text

だから私の質問は、マンセル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

Value(Brightness)は0..10、それで結構です。だから私は70.5%を意味するために7.05を取ります。

しかし、Hueは何で測定されますか? degrees(0..360)で測定されているhueに慣れています。しかし、私が見る値はすべて赤になります-それらがより黄色または茶色であるはずです。

最後に、Choma/Saturationの範囲は0..10 ...またはさらに高い-任意のスケールのように聞こえます。

では、マンセルHVCをHSBまたはHSL、あるいはRGBに変換できる人はいますか?

25
Ian Boyd

ここで指定した色相の指定は不完全です(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

ご覧のとおり非常に古いですが、問題なく動作するようです。これを実行できる現在のプログラムは無料ではありません。

マンセル製品の現在の保有者は X-Rite であり、おそらくいくつかの変換ソリューションも持っています。

さらに、指定したリンクには、他の色座標での同じ色の定義、つまりYxyとCIE lab *の定義が含まれていることに注意してください。どちらも http://www.colorpro.com/info/tools/convert.htm でオンラインで変換したり、これでオフラインに変換したりできます 無料のカラーコンバーター

11
Ohad Schneider

かなり複雑です。短い答えは、MunsellコードをRGBに変換することは、非常に非線形である3Dの経験的データの補間を含みます。公的に利用可能な唯一のデータセット1930年代に収集されました。私がネットで見つけた無料または安価なプログラムには欠陥があることが判明しました。自分で書いた。しかし、私は先にジャンプしています。基本から始めましょう。

マンセルコードは、xyY、Lab、RGBなどの他のコードとは種類が異なります。マンセル表記は、オブジェクトの色を示します-オブジェクトを表示するときに人々が体験するもの。 (アイザックニュートンは、色が見る人の目にあることを最初に認識した人です。)マンセルは、人間の被験者と独創的な装置を使って大規模な実験を行いました。

他のコード、すなわちxyY、Lab *、およびRGBは、lightこれはオブジェクトから跳ね返り、人間の目のかなり単純な数学的モデルを使って畳み込みを通過しました。 Google用語には、「光源」、「三刺激」、「CIE標準オブザーバー」などがあります。

マンセルは、さまざまな光源の下で知覚されるオブジェクトの色について説明します。もう1つのGoogle用語は「色順応」です。照明が変ではない場合、脳の色順応は自動的に行われます。それは本当に驚くべきことです。青空の下でタイピングペーパーを外に持って行きます。紙は白く見えます。室内でそれを取り、白熱灯(黄色がかった)ライトの下でそれを見てください。まだ白く見えます!マンセルはその驚くべき処理能力を経験的に利用しました。マンセルコードは、異なるクロマで知覚される色相も保持します。マンセルが同じ色相表記を割り当てるスカイブルーとパウダーブルー。 5RPは、通常の視力を持つ典型的な人間には同じ色相であるように見えます。詳しくは脚注で。

CIE xyY、Lab *、およびRGBは、光源が指定されていない限り、何も意味しません。数学モデルにおける光源の色順応は、計算上困難です。 (粗いが単純な近似は、「ブラッドフォード行列」を使用して行うことができます。)私たちが使用するRGBは、デフォルトでは「sRGB」であり、D65と呼ばれる光源を指定します。 D65は正午の雲一つない日のようなものです。 OPに記載されているラボ番号は、おそらくD50に関連しています。これは、午後や朝の光に似ています。 xyYの数値はD50に関連している場合もあれば、Cと呼ばれる古い標準に関連している場合もあります。ここでは確認しません。 Cは、1930年代に比較的安価に構築できる標準的な照明器具からの光でした。それは時代遅れです。しかし、Cは質問への回答において重要な役割を果たします。

1930年代、色彩科学者たちは数学モデルを開発していました。彼らがしたことの1つは、標準のマンセル色の本を取り、本のカラーチップに光源Cの光を当て、データをxyY形式で記録することでした。 「Munsell Renotation Data」と呼ばれるそのデータセットは、自由に利用できる唯一のものです。他のものは確かに存在しますが、それらは密接に秘密にされています。

朗報ですが。データセットは適切に機能します。今日のマンセル機関は、グレタグ・マクベスと呼ばれる会社です。彼らが売っているカラーチップに関連する膨大なデータを持っていると思います。彼らが公開していることを知っている唯一の数字は、それらの "Color Checker" カード上の色の小さなセットのD50ラボとD65 sRGBの数字です。私は古い表記法のデータに基づいて補間器を書きました。 Color Checkerカードの数値とほぼ同じです。残念ながら、これまでのところ、OPが要求したもの(1年前、これを入力したとき)とは逆方向の変換のコードしか記述していません。 sRGBからマンセルに移行します。画像をクリックすると、プログラムはクリックされた領域のsRGBおよびマンセル表記を表示します。油絵に使っています。

My "color-picker" program - work in progress

脚注:CIEには、マンセルに類似した標準があります。これは、a、bが下付きのLChと呼ばれます。極座標でのLab *です。色合いは度単位です。マンセルHVCのクロマ数はCの約5倍です。 LChにも問題があります。フォトエディタを使用して空の鮮やかさを上げたことがあり、青が紫に変わるのを見ただけの場合、プログラムはおそらくLChを使用していました。プログラムを書き始めたとき、ブルースリンルームが自分のしていることと同じような仕事をしていることに気づきませんでした。 彼のWebサイト は、プロジェクトを終了するときに私にとって非常に貴重でした。彼はUPLabと呼んでいるスペースを設計しました。このスペースは、マンセルに合わせてLChをまっすぐにしたものです。リンブルーム氏のサイトを発見する前に、私はすでにLChと(本質的に)UPLabを再発明していたが、彼の主題に関する彼の知識は私のものをはるかに超えている。

15
Jive Dadson

マンセル再表記システムからsRGBカラースペースへの変換

カラー 、オープンソースPythonカラーサイエンスパッケージでは、その変換を実行できます。

マンセル表記システムからCIE xyYカラースペースへ

Centore(2012)メソッドに基づく次の2つの定義は、Munsell Renotation SystemCIE xyY色空間の間で変換します。

CIE xyY色空間からsRGB色空間へ

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
10
Kel Solaar

完全を期すために、ここに私のページのarchive.orgバージョンを示します。これには、Munsell、Yxy、Labの3つの色空間の色が含まれています。

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

参考文献

  • 151 O'Brien、W.J.、Groh、C.L.およびBoenke、K.M.歯科用シェードの新しい小さな色差方程式。 J.デント。解像度69:1762-1764、1990。
  • 152 O'Brien、W.J.、Groh、C.L.およびBoenke、K.M.非公開データ。ミシガン大学歯学部、アナーバー。
6
Ian Boyd

無料のRパッケージがあります munsell (とりわけ)マンセルコードをRGBに変換します:

R> library(munsell)
R> mnsl2hex("5PB 5/10")
[1] "#3B75BB"
6
Michael Dunn

ここに私が見つけたページがあります: munsell-to-rgb.blogspot.com それはあなたが求めていることを正確に行っているようです。現時点では未完​​成のようですが、ブログの所有者は、できるだけ多くのマンセルからRGBへの変換を使用して定期的に更新することを計画しています(そしてリクエストを受け付けています!)。

これらのカラーシステム用のアクセス可能な変換テーブルを見つけるのがいかに難しいかは驚くべきことです。うまくいけば、これが私たちの答えになります! :D

4
Jarordirt

パーティーに遅れましたが、このトピックに役立つと思われる別のリソースを見つけました。

「マンセル色彩科学研究所」の誰かがマンセルから1943年のデータを掘り起こしました。すべて1930年代のマンセル研究に基づいています: http://www.cis.rit.edu/research/mcsl2/online/munsell.php

このページは、「マカダムの制限」内にあるデータの「実際の色のみ」のサブセットを含むExcelスプレッドシートを参照しています。これは、反射面に実際に表示できる色域を意味するようです。ただし、スプレッドシートのリンクは機能しませんが、直感的には、ディレクトリツリーの1つのレベルが省略されていると思いました。私はURL http://www.cis.rit.edu/research/mcsl2/online/real_sRGB.xls -を試してみましたが、うまくいきました。 (サイトの所有者が最終的にそれに気づき、リンクを修正する場合でも驚かないでしょう。リンクが壊れる可能性があります。)

そのスプレッドシートを少しいじって、RGBカラーを表示するHTMLを生成し、これらのセルをスプレッドシートに追加しました。

<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行と、その他の行が1行必要です。

これがお役に立てば幸いです。

3
Steve

この古い記事にもかかわらず、スティーブの答えを更新するために、マンセルデータのRITのリポジトリへの「修正された」リンクを次に示します。

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と呼ばれます)に量子化されたスプレッドシートです。

OPの質問については、sRGBは(明らかに)RGB加法カラーモデルです。ただし、減法CMYKなどの他のカラーモデルとの違いは非常に複雑なので、「単純な」アルゴリズムでは変換を処理できません。カラーモデルの変換は行列で近似できますが、多くの場合LUT(ルックアップテーブル)が推奨されます。 ICCプロファイルのLUTや、フィルム制作で使用される3D LUTなど。 (すべてのICCプロファイルがLUTベースであるわけではありませんが、LUTベースの変換IMOがここで必要です)。

マンセルのデータは確かにこのカテゴリに分類されます。これは、異なるカラーモデルであるだけでなく、知覚に基づく減算モデルであるだけでなく、sRGBは赤、緑、青の光の間の単純な関係に基づいているからです。

スプレッドシートは使用可能なルックアップテーブルなので、デンタルチャートなどをsRGBに変換するプログラムは、そのデータを取り込み、スプレッドシートに含まれるLUTを参照して、sRGB値を返します。

サイドノート:明確にするために、someカラースペースまたはカラーモデルの変換は、アルゴリズム/マトリックスを使用して合理的に実行できます。特に、与えられた測定データからLUTが作成される場合は、3D LUTが推奨されます。一部のモデルに固有の多くの非線形性をマップするカラーモデル/スペース。

極端な例は、コンピューターモニター上のsRGBイメージと、そのイメージが紙に印刷され、蛍光灯で照らされたニューススタンドに座っている雑誌のカバーに表示される方法です。正確な変換には3D LUTが必要です!

長編映画業界(私が主に作業している場所)では、変換/変換だけでなく、「表示」および「外観」の適用/エミュレートにも、画像パイプライン全体で3D LUTを使用しています。たとえば、デジタルカメラで撮影した画像を撮り、特定のフィルムストックのLUTをその画像に適用して、フィルムとして表示します。

1
Myndex