Secondo due fonti che ho trovato, nello spazio colore CIELAB LAB un valore di L * = 0 corrisponde al nero. Citando Wikipedia :
Le tre coordinate di CIELAB rappresentano la luminosità del colore (L * = 0 produce nero e L * = 100 indica bianco diffuso ...)
e citando Phil Cruse :
L'asse L * rappresenta la luminosità. Questo è verticale; da 0, che non ha leggerezza (cioè nero assoluto) ...
Tuttavia, questo sembra non essere il caso. Ad esempio, usando L * = 0, a * = 127, b * = 0 si ottiene in Mathematica:
FullForm[ColorConvert[LABColor[0, 1.27, 0], "RGB"]]
(*RGBColor[0.46364605275068677, 0., 0.052627307663056185]*)
... che non è nero.
Questo non sembra essere un bug di Mathematica, in quanto è anche riprodotto (almeno per un paio di fichi) in Julia usando il Color.jl
pacchetto:
convert(RGB, LAB(0,127,0))
# RGB{Float64}(0.46778684693714695,0.0,0.04112312700274846)
Allo stesso modo, la visualizzazione del cubo di colore di LAB Colorspace è nella Neat Examples
sezione della pagina della documentazione di Mathematica per LABColor
. Eccolo, con la faccia L * = 0 della superficie rivolta verso la telecamera:
Con l'eccezione del cubo all'angolo, la maggior parte dei cubi non è decisamente nera. Quindi la mia domanda è:
- Perché un'impostazione L * = 0 non corrisponde necessariamente al nero nello spazio colore CIELAB? L * non dovrebbe corrispondere alla luminosità percepita? Se è così, allora perché alcune parti del sottospazio L * = 0 appaiono notevolmente più luminose del nero?
LAB(0,127,0)
non esiste nello spazio RGB, e quindi la conversione si traduce in errori numerici che la fanno apparire non-nera?
Manipulate[ ArrayPlot@ Table[LABColor[l, a, b], {a, -1, 1, .05}, {b, -1, 1, .05}], {{l, 0}, -1, 2} ]