Según dos fuentes que encontré, en el espacio de color CIELAB LAB un valor de L * = 0 corresponde al negro. Citando Wikipedia :
Las tres coordenadas de CIELAB representan la claridad del color (L * = 0 produce negro y L * = 100 indica blanco difuso ...)
y citando a Phil Cruse :
El eje L * representa la ligereza. Esto es vertical; desde 0, que no tiene claridad (es decir, negro absoluto) ...
Sin embargo, este parece no ser el caso. Por ejemplo, usando L * = 0, a * = 127, b * = 0 se obtiene en Mathematica:
FullForm[ColorConvert[LABColor[0, 1.27, 0], "RGB"]]
(*RGBColor[0.46364605275068677, 0., 0.052627307663056185]*)
... que no es negro.
Esto no parece ser un error de Mathematica, ya que también se reproduce (al menos para un par de higos) en Julia usando el Color.jl
paquete:
convert(RGB, LAB(0,127,0))
# RGB{Float64}(0.46778684693714695,0.0,0.04112312700274846)
Del mismo modo, la visualización del cubo de color del LAB Colorspace se encuentra en la Neat Examples
sección de la página de documentación de Mathematica LABColor
. Aquí está, con la cara L * = 0 de la superficie apuntando hacia la cámara:
Con la excepción del cubo en la esquina, la mayoría de los cubos definitivamente no son negros. Entonces mi pregunta es:
- ¿Por qué una configuración L * = 0 no corresponde necesariamente al negro en el espacio de color CIELAB? ¿No se supone que L * corresponde a la luminosidad percibida? Si es así, ¿por qué algunas partes del subespacio L * = 0 parecen considerablemente más brillantes que el negro?
LAB(0,127,0)
no existe en el espacio RGB y, por lo tanto, la conversión produce errores numéricos que hacen que parezca no negro?
Manipulate[ ArrayPlot@ Table[LABColor[l, a, b], {a, -1, 1, .05}, {b, -1, 1, .05}], {{l, 0}, -1, 2} ]