问题
I would like to know if there is any mathematical way to determine the boundaries of the visible spectrum/gamut in a CIE color space (e.g. Lab, XYZ). Thank you in advance!
回答1:
mmm... this seems to be a not-so-good formulation of a valid question.
As boscarol pointed it out, the boundary of the human gamut is determined by the "color matching functions"
that you will decide to use, which refer to the type of "standard observer"
you need, i.e., 2° (1931, often used)
or 10° (1964, a bit rare)
, or something new like cvrl.org proposed 2006 observers (2° or 10°)
To get the points in the CIE xy 1931 chromaticity diagram
that you put in your message, you have to apply the conversion XYZ to Yxy
to the 3 color matching functions x_bar, y_bar and z_bar
that you will find in the standard's observer CMF data, for ex. here: http://www.cvrl.org/ then check CMFs
and pick one file to download.
The coordinates of the spectrum locus
(the limits of the human observer's gamut) are, for each wavelength, the xy
coordinates that you will obtain from the XYZ to Yxy
transformation, which goes, for ex. in Python 2.7:
def XYZ_to_Yxy(X,Y,Z):
"""for each wavelength of the CMFs, you will replace X, Y, Z by x_bar, y_bar, z_bar here..."""
x = X/(X+Y+Z)
y = Y/(X+Y+Z)
return Y,x,y
EDIT I forgot to mention that the spectrum locus
is only the curve part of the limit. The straight line at the bottom is called the "line of purples"
and to get its xy coordinates in the diagram, you can simply trace a straight line between the point that corresponds to 380 nm
(blue-violet) and the one for 730 nm
(extreme red).
The bad point of this technique is that it will only give you limits of chromaticity
(2D), while a real device or so gamut should be in 3D
To solve this problem is more complicated, there are some algorithms availlable to plot a gamut in the CIE L*a*b* color space
for example, which are described somewhere on this website:
http://www.brucelindbloom.com/index.html?LabGamutDisplayHelp.html
good luck!
来源:https://stackoverflow.com/questions/22759297/boundaries-of-the-visible-gamut-in-a-cie-color-space