miniatura|Comparació de HSV i okLCH pel que fa a un gradient d'arc de Sant Martí complet. L'okLCH és perceptivament uniforme, mentre que l'HSV té línies verticals clares que emergeixen. L'espai de color Oklab és un espai de color uniforme per al color independent del dispositiu dissenyat per millorar la predicció de la uniformitat perceptiva, la tonalitat i la lluminositat, la combinació de colors, i la usabilitat alhora que garanteix l'estabilitat numèrica i la facilitat d'implementació. Introduït per Björn Ottosson el desembre de 2020, Oklab i el seu homòleg cilíndric, Oklch, s'han inclòs als esborranys CSS Color Nivell 4 i Nivell 5 per a colors web independents del dispositiu des de desembre de 2021. Són compatibles amb les versions recents dels principals navegadors web i permeten l'especificació de colors P3 de gamma àmplia.
El model d'Oklab està equipat amb dades d'aspecte de color millorades: dades CAM16 per a la lluminositat i la croma, i dades IPT per a la tonalitat. El nou ajust aborda qüestions com ara els canvis inesperats de to i lluminositat en els colors blaus presents a l'espai de color CIELAB, simplificant la creació d'esquemes de color i degradats de color més suaus.
Tal com va explicar Ottosson, va triar el nom Oklab perquè el model fa un treball correcte (adequat) i es basa en les tres coordenades de l'espai de color L, a i b.
Coordenades Oklab utilitza la mateixa estructura espacial que CIELAB, que representa el color mitjançant tres components: miniatura|Roda de colors Oklch
L per a la lleugeresa perceptiva, que va de 0 (negre pur) a 1 (blanc de referència, si és acromàtic), sovint indicat com a percentatge a i b per als canals oponents dels quatre tons únics, sense límits però a la pràctica que oscil·len entre -0,5 i +0,5; CSS assigna ±100% a ±0,4 per a tots dos a per verd (negatiu) a vermell (positiu) b per blau (negatiu) a groc (positiu)
Colors acromàtics Igual que CIELCh, Oklch representa els colors mitjançant:
L per lleugeresa perceptiva C per a croma que representa la intensitat cromàtica, amb valors a partir de 0 (acromàtic) sense límit superior, però a la pràctica no superior a +0,5; CSS tracta +0,4 com a 100% h per a l'angle de to en una roda de colors, normalment indicat en graus decimals
Els grisos neutres, el negre pur i el blanc de referència són acromàtics, és a dir, , , , i h no està definit. Assignar cap valor real al seu component de tonalitat no té cap efecte en les conversions entre espais de color.
Diferències de color La diferència de color perceptiva a Oklab es calcula com la distància euclidiana entre les coordenades .
Conversions entre espais de color Conversió des de i cap a Oklch Igual que CIELCh, les coordenades cartesianes a i b es converteixen en les coordenades polars C i h de la següent manera:
I les coordenades polars es converteixen en coordenades cartesianes de la següent manera:
Conversió de CIE XYZ La conversió de CIE XYZ amb un il·luminant estàndard D65 implica:
Aplicació del mapa lineal:
Aplicació d'una arrel cúbica no lineal:
Convertint a Oklab amb un altre mapa lineal:
Donat:
Conversió de sRGB La conversió de sRGB requereix primer la conversió de sRGB a CIE XYZ amb un il·luminant estàndard D65. Com que l'últim pas d'aquesta conversió és un mapa lineal de RGB lineal a CIE XYZ, la implementació de referència utilitza directament la matriu multiplicada que representa la composició dels dos mapes lineals:
Conversió a CIE XYZ i sRGB La conversió a CIE XYZ i sRGB només implica aplicar les respectives funcions inverses en ordre invers:
Referències
Categoria:Color