L * = 0がL * a * b *色空間の黒に対応しないのはなぜですか?


8

私が見つけた2つの情報源によると、CIELAB LAB色空間では、L * = 0の値は黒に対応します。ウィキペディアの引用:

CIELABの3つの座標は色の明度を表します(L * = 0は黒を生成し、L * = 100は拡散白を示します...)

Phil Cruseの引用:

L *軸は明度を表します。これは垂直です。0からは、明度はありません(つまり、絶対黒)

ただし、そうではないようです。たとえば、L * = 0、a * = 127、b * = 0を使用すると、Mathematicaで次のようになります:

FullForm[ColorConvert[LABColor[0, 1.27, 0], "RGB"]]

(*RGBColor[0.46364605275068677, 0., 0.052627307663056185]*)

...黒ではありません。

これは、Color.jlパッケージを使用してJuliaで(少なくともいくつかのイチジクに)再現されているため、Mathematicaのバグではないようです。

convert(RGB, LAB(0,127,0))

# RGB{Float64}(0.46778684693714695,0.0,0.04112312700274846)

同様に、LABカラースペースのカラーキューブの視覚化Neat Examplesは、のMathematicaドキュメントページのセクションにありますLABColor。ここでは、L * = 0の面がカメラの方を向いています。

ここに画像の説明を入力してください

コーナーの立方体を除いて、立方体の大部分は明らかに黒ではありません。だから私の質問は:

  • L * = 0設定がCIELAB色空間の黒に必ずしも対応しないのはなぜですか?L *は知覚された光度に対応するはずではありませんか?もしそうなら、なぜL * = 0サブスペースの一部が黒よりかなり明るく見えるのですか?

何が価値があるのか​​を確認したところ、Mathematica.SEでは3つのCIELABの質問があり、StackOverflowでは45の質問があります。
hardmath 2014

2
負の線形RGB値を取得する必要がある場合、その可能性が明示的に考慮されていない限り、式は正しく機能しません。XYZへの変換を確認すると、Lがゼロに等しいときにYがゼロになることがわかります。また、RGとBがすべてゼロではない場合、RGB値の一部がYである場合にのみ、Yがゼロになることもわかります。負。
Iblisを2014

@CountIblis:ありがとう、でも私はまだ少し混乱しています。黒以外が発生する理由は、色LAB(0,127,0)がRGB空間に存在しないため、変換によって数値エラーが発生し、黒ではないように見えるということですか?
DumpsterDoofus 14

はい、それはそれが要約されるものです。LabからXYZへの変換について読むことをお勧めします。次に、XYZから線形RGBへの変換について説明します。線形RGBからsRGBへの変換は、修正されたガンマ変換です。LabからXYZまで問題はないことがわかります。Lがゼロの場合、Yはゼロになります。ただし、XYZからYおよび0を設定し、XまたはZが非ゼロの場合、1つ以上のRGBコンポーネントに対して負の値が生成されます。すべてのRGBコンポーネントがゼロではない場合に、合計輝度がゼロであると想定される場合、一部は負である必要があります。これのほとんどはここで説明されていますen.wikipedia.org/wiki/Lab_color_space
カウント

多分見やすい:Manipulate[ ArrayPlot@ Table[LABColor[l, a, b], {a, -1, 1, .05}, {b, -1, 1, .05}], {{l, 0}, -1, 2} ]
Szabolcs 2014

回答:


5

Mathematicaで宛先として入力した「RGB」色空間(sRGB?)は何であれ、R、G、Bの値によって記述される色の範囲は限定されており、通常モニターが生成できるものと同様であり、プリンターは印刷できる等とラボよりもはるかに小さい。値の数は限られているため(8ビットのカラーチャネルごとに256)、RGB色空間は、再現できない色の値を無駄にしないようにして、厄介な副作用を回避します。

LabからRGBへの変換は色域外の色で終了し、プログラムは通常、LabelカラーをターゲットRGBカラースペースに存在する最も近いカラーにマップしようとします。 1。

あなたがそれをいじりたいと思っているなら、ここにウェブ上の素晴らしいツールがあります、それは素早いインタラクティブな変換に使用できるブルース・リンドブルームのCIE Color Calculatorです。


2

答えは非常に簡単です。指定した色は無効です(存在しません)。多くのカラーモデルでは、存在しない「色」を指定できることに注意してください。

具体的には、L * = 0(ライトなし)を指定しますが、a * = 1.27も指定します。光がない場合、どのように色成分があるのでしょうか?

次の表(未公開の私の作品の一部)を調べると、L * = 3.14未満の値の場合、最大彩度はゼロ(L * = 100の場合と同様)であることがわかります。 LCh(ab)の最大クロマ値

表は、hさまざまな強度L(水平)での色(垂直)の最大知覚可能な彩度を示しています。最大値は太字で表示されます。

テーブルのソースは次のとおりです:[Int10] International Color Consortium。仕様ICC.1:2010(プロファイルバージョン4.3.0.0)、122010。[オンライン:http : //www.color.org/ 仕様/ICC1v43_2010-12.pdf; 2011年11月15日スタンド]。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.