Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CIELAB color space
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Coordinates== The CIELAB space is three-dimensional and covers the entire [[gamut]] (range) of human color perception. It is based on the [[Opponent process|opponent model]] of human vision, where red and green form an opponent pair and blue and yellow form an opponent pair. This makes CIELAB a [[Ewald Hering|Hering]] opponent color space. The nature of the transformations also characterizes it as a [[Adams chromatic valence color space#Chromatic value|chromatic value]] color space. The lightness value, ''L*'' (pronounced "L star"), defines black at 0 and white at 100. The ''a*'' axis is relative to the green–red opponent colors, with negative values toward green and positive values toward red. The ''b*'' axis represents the blue–yellow opponents, with negative numbers toward blue and positive toward yellow. The lightness value, ''L*'' in CIELAB is calculated using the cube root of the [[relative luminance]] with an offset near black. This results in an ''effective'' power curve with an exponent of approximately 0.43 which represents the human eye's response to light under daylight ([[photopic]]) conditions. The ''a*'' and ''b*'' axes are unbounded and depending on the reference white they can easily exceed ±150 to cover the human gamut. Nevertheless, software implementations often clamp these values for practical reasons. For instance, if integer math is being used it is common to clamp ''a*'' and ''b*'' in the range of −128 to 127. CIELAB is calculated relative to a [[reference white]], for which the CIE recommends the use of CIE [[Standard illuminant]] [[Illuminant D65|D65]].<ref>{{cite book |title=CIE Colorimetry 15 |date=2004 |publisher=CIE |isbn=3-901-906-33-9 |edition=Third}}</ref> D65 is used in the vast majority of industries and applications, with the notable exception being the [[printing industry]] which uses D50. The [[International Color Consortium]] largely supports the printing industry and uses [[Illuminant D50|D50]] with either CIEXYZ or CIELAB in the Profile Connection Space, for v2 and v4 [[ICC profiles]].<ref name="ICC4">International Color Consortium, ''[https://www.color.org/icc1v42.pdf Specification ICC.1:2004-10 (Profile version 4.2.0.0)] Image technology color management — Architecture, profile format and data structure,'' (2006).</ref> While the intention behind CIELAB was to create a space that was more perceptually uniform than CIEXYZ using only a simple formula,<ref>{{cite web |URL=http://www.handprint.com/HP/WCL/color7.html#CIELUV |title=Explanation of this history |first=Bruce |last=MacEvoy }}</ref> CIELAB is known to lack [[color difference#Tolerance|perceptual uniformity]], particularly in the area of blue hues.<ref>[http://www.brucelindbloom.com/UPLab.html A discussion and proposed improvement], Bruce Lindbloom</ref> {{multiple image | width = 150 | image1 = SRGB gamut within CIELAB color space mesh.webm | alt1 = SRGB gamut within CIELAB color space | thumbtime1 = 0 | image2 = Visible gamut within CIELAB color space D65 whitepoint mesh.webm | alt2 = Visible gamut within CIELAB color space | thumbtime2 = 0 | footer = The [[sRGB]] gamut (''left'') and [[Color solid#Optimal_color_solid|optimal color solid]] under D65 illumination (''right'') plotted within the CIELAB color space. ''a'' and ''b'' are the horizontal axes; ''L'' is the vertical axis. }} The asterisks (*) after ''L*'', ''a*,'' and ''b*'' are pronounced ''star'' and are part of the full name to distinguish ''L''*''a''*''b''* from Hunter's ''Lab'', described below. Since the ''L*a*b*'' model has three axes, it requires a three-dimensional space to be represented completely.<ref>[http://www.brucelindbloom.com/index.html?WorkingSpaceInfo.html 3D representations of the ''L*a*b*'' gamut], Bruce Lindbloom.</ref> Also, because each axis is non-linear, it is not possible to create a two-dimensional chromaticity diagram. Additionally, the visual representations shown in the plots of the full CIELAB gamut on this page are an approximation, as it is impossible for a monitor to display the full gamut of LAB colors. ===Perceptual differences=== {{Main|Color difference}} The nonlinear relations for ''L*'', ''a*'' and ''b*'' are intended to mimic the nonlinear response of the visual system. Furthermore, uniform changes of components in the ''L*a*b*'' color space aim to correspond to uniform changes in perceived color, so the relative perceptual differences between any two colors in ''L*a*b*'' can be approximated by treating each color as a point in a three-dimensional space (with three components: ''L*'', ''a*'', ''b*'') and taking the [[Euclidean distance]] between them.<ref name="Jain89">{{cite book|title=Fundamentals of Digital Image Processing|url=https://archive.org/details/fundamentalsofdi0000jain|url-access=registration|first=Anil K.|last=Jain|pages=[https://archive.org/details/fundamentalsofdi0000jain/page/68 68], 71, 73|year=1989|publisher=[[Prentice Hall]]|location=New Jersey, United States of America|isbn=0-13-336165-9}}</ref> ===RGB and CMYK conversions=== In order to convert [[RGB color model|RGB]] or [[CMYK color model|CMYK]] values to or from ''L*a*b*'', the RGB or CMYK data must be linearized relative to light. The reference illuminant of the RGB or CMYK data must be known, as well as the RGB primary coordinates or the CMYK printer's reference data in the form of a color lookup table (CLUT). In color managed systems, [[ICC profile]]s contains these needed data, which are then used to perform the conversions. ===Range of coordinates=== As mentioned previously, the ''L''* coordinate nominally ranges from 0 to 100. The range of ''a''* and ''b''* coordinates is technically unbounded, though it is commonly clamped to the range of −128 to 127 for use with integer code values, though this results in potentially clipping some colors depending on the size of the source color space. The gamut's large size and inefficient utilization of the coordinate space means the best practice is to use floating-point values for all three coordinates.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)