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?
fuente
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} ]
Respuestas:
Cualquiera que sea el espacio de color "RGB" (sRGB?) Que ingresó como destino en Mathematica, tiene una gama limitada de colores que se describen mediante los valores R, G y B, generalmente similares a los que puede producir un monitor, la impresora puede imprimir etc. y mucho más pequeño que Lab. Dado que solo hay un número limitado de valores (256 por canal de color en 8 bits), los espacios de color RGB intentan no desperdiciar ningún valor en colores que no se pueden reproducir para evitar efectos secundarios desagradables.
La conversión de Lab a RGB termina con colores fuera de gama y el programa intenta asignar el color Lab al color más cercano que existe en el espacio de color RGB objetivo, generalmente recortando cualquier valor <0 o> 1 a 0 y 1)
Si está dispuesto a jugar con él, aquí hay una gran herramienta en la web, CIE Color Calculator de Bruce Lindbloom, que puede usarse para conversiones interactivas rápidas
fuente
La respuesta es bastante simple: el color que especificó no es válido (no existe). Tenga en cuenta que en muchos modelos de color es posible especificar "colores" que no existen.
Específicamente, especifica L * = 0 (sin luz), pero también especifica a * = 1.27. ¿Cómo puede haber algún componente de color si no hay luz?
Si examina la siguiente tabla (de un trabajo mío no publicado), verá que para valores inferiores a L * = 3.14 la saturación máxima es cero (como lo es para L * = 100).
La tabla muestra la saturación perceptible máxima para colores
h
(vertical) a diferente intensidadL
(horizontal). Los máximos están impresos en negrita.La fuente de la tabla es: [Int10] International Color Consortium. Especificación ICC.1: 2010 (Perfil versión 4.3.0.0), 12 2010. [En línea: http://www.color.org/especification / ICC1v43_2010-12.pdf; Stand 15. Noviembre 2011].
fuente