Nach zwei Quellen, die ich gefunden habe, entspricht im CIELAB LAB-Farbraum ein Wert von L * = 0 Schwarz. Wikipedia zitieren :
Die drei Koordinaten von CIELAB repräsentieren die Helligkeit der Farbe (L * = 0 ergibt Schwarz und L * = 100 zeigt diffuses Weiß an ...)
und zitiert Phil Cruse :
Die L * -Achse repräsentiert die Helligkeit. Das ist vertikal; von 0, die keine Helligkeit hat (dh absolutes Schwarz) ...
Dies scheint jedoch nicht der Fall zu sein. Wenn man beispielsweise L * = 0, a * = 127, b * = 0 verwendet, erhält man in Mathematica:
FullForm[ColorConvert[LABColor[0, 1.27, 0], "RGB"]]
(*RGBColor[0.46364605275068677, 0., 0.052627307663056185]*)
... was nicht schwarz ist.
Dies scheint kein Mathematica-Fehler zu sein, da er auch in Julia (zumindest für ein paar Sig Feigen) mit dem Color.jl
Paket reproduziert wird :
convert(RGB, LAB(0,127,0))
# RGB{Float64}(0.46778684693714695,0.0,0.04112312700274846)
Die Visualisierung des Farbwürfels des LAB-Farbraums finden Sie ebenfalls im Neat Examples
Abschnitt der Mathematica-Dokumentationsseite für LABColor
. Hier ist es, wobei die L * = 0-Fläche der Oberfläche zur Kamera zeigt:
Mit Ausnahme des Würfels an der Ecke ist der Großteil der Würfel entschieden nicht schwarz. Meine Frage lautet also:
- Warum entspricht eine Einstellung L * = 0 nicht unbedingt Schwarz im CIELAB-Farbraum? Soll L * nicht der wahrgenommenen Leuchtkraft entsprechen? Wenn ja, warum erscheinen dann einige Teile des Unterraums L * = 0 erheblich heller als schwarz?
LAB(0,127,0)
im RGB-Raum nicht vorhanden ist und die Konvertierung zu numerischen Fehlern führt, die dazu führen, dass sie nicht schwarz erscheint?
Manipulate[ ArrayPlot@ Table[LABColor[l, a, b], {a, -1, 1, .05}, {b, -1, 1, .05}], {{l, 0}, -1, 2} ]