Color notes - objectively describing color
| These are primarily notes|
It won't be complete in any sense.
It exists to contain fragments of useful information.
| This page is in a collection about both human and automatic dealings with audio, video, and images.
...and more applied stuff
For more, see Category:Audio, video, images
Light can be reflected, absorbed, emitted in various ways, and our perception is influenced by some automatic assumptions, including movement, shadow, details like diffuse and specular reflection affects our perception. Context matters to perception of adjacent colors, yet if we want it in an image, it's all measurable as abstract spectra.
The most descriptive objective way to look at a single color is to probably a Spectral Power Distribution (SPD), measuring/showing how much each of the human-perceptible frequencies is present, within the human-visible-light range. You know, the ROYGBIV rainbow thing, which are the colors that can be made from photons of a single wavelength.
Mixing these wavelengths at varying strengths covers all colors and shades that we see. Our eyes perceive what you could call a flattened transformation of SPDs. Using SPDs you can reproduce everything, for better eyes than our own (which exist).
But there are many SPDs that are metameters of others: they look like identical colors to us, while being non-equal in SPD terms (not in surprising ways, mind).
So SPDs would be highly redundant for uses that only ever involve human eyes.
Our eyes convert all they see to a three-stimulus signal, for transmission to the brain, and our color perception comes from both.
Image perception is more complex yet, the amount of area being relevant, context being relevant, perspective being estimated, etc.
Most of the time we care only about color specification for human consumption. Sometimes subjective is good enough - "that's red" is usually pretty clear - and sometimes we care about an absolute reference so that, so that we can, for example, specify the exact color tone a photo should have, rather than 'sorta yellow like they used to make them', tell a gallery exactly what sort of light makes a painting look good, or to get a photo to reproduce the original scene's colors most accurately.
You can see color spaces as simplification of SPD-style representation that were designed with consideration for human eyes. Most color spaces are absolutely referenced somehow, usually via CIE's work.
In computers, colors may be often communicated in such an absolutely referenced space (trying on printer drivers, monitor drivers to state how exactly the production works) so that color management can know how to reproduce colors decently. Not everything is defined with absolute reference. As far as I know, color names and RGB values in HTML are not. Many images are not particularly referenced, or incorrectly referenced. Even so, the difference is usually just a bit of tint, and not large enough to bother anyone.
Spectra and White, Context and Adaption, Color temperature
When we see an object, we see the spectrum of the light falling on it minus whatever that object absorbs.
As such, the light source is an inseparable part of color perception.
Objectively, you can describe any color we as a mix of EM energy at various frequencies in the range we call visible light.
In an image or scene, color also works in context.
This results in Color constancy: that we tend to describe the same thing as the same color under different-tinted (and different-strength) lights.
Adapting to white-ish is both practical for us, and a bit of a pain when you want to model color description.
If we see something that is both bright and has a fairly equal spectrum (post-human-processing, but we can ignore its details for now), we are quite prepared to call it white.
Consider e.g. going indoor after being in the sun - aside from things looking dark, they also look a little blue at first. But give us a few minutes to adapt and we use the present light as a reference point for colors, without even realizing it.
This works fairly well even if looking at an image from an illuminant other than the one you are in. In a scene that involves varied color but also one of these fairly-equal-spectrum ones, we are easily prepared to call that white. In fact, automatic illuminant correction like gray world and retinex are based fairly directly on this.
Consider that there is a fairly large difference between the sun and artificial light, and between various types of artificial light. You're somewhat aware of this, but not to how large the differences actually are, and how easily we adapt to it (unless it's particularly monochromatic, as some arc lighting is).
From 2000 to 10000 Kelvin, enough of this lies in the human-visible range to be a useful descriptor.
Something as low as 500K can be seen as a red glow, which is why things like hot metal and lava looks red (not to do with the material, it's just that many other things catch fire or melt away). Over ~10000K the peak is outside, though the curve's falloff stays visible because the energy involved is higher.
Color temperature is often used to approximately describe the sort of mix of light, primarily whether it's on the mostly-red or mostly-blue side. It's often more of a symbolic estimate than particularly accurate, since most light sources don't have a spectrum that looks like a black-body-style peak.
It's decent for the sun, though. Tables list its color temperature as something between 5000 or 5500 to 6000 Kelvin (and indeed it burns at around 5700K), so its peak lies in the visible range.
Fire is somewhere around 1700-2000K, light bulbs around 2500K (fire and lightbulbs peak in infrared rather than visible light), sunlight 5000-6000K, overcast sunlight 6500K. Most indoor lighting is intentionally biased to warmer light, somewhere between 2000 and 6000K. Speciality bulbs can do 10000K or 15000K.
Color temperature estimations are also useful to correct reproduction of photos, for example to show a photo taken in ~5000K sunlight to show roughly the same on a ~9000K CRT screen, ~6000K LCD, 6500K or 7100K TV.
Photo cameras tend to assume and correct for illuminants in the first place. Without this, indoor scenes (lightbulbs, candles) would look very orange. Cameras are often biased to a relatively warm result, while there is quite a range in artificial lighting's color temperature (see also e.g. the middle of this page).
Official color spaces have a white point predefined, so that their definition can be absolute, and their conversions well defined.
In practice, you often use one of the common predefined ones, or use a coordinate in CIE's XYZ or something else absolute.
Illuminants and white points
'White point' is the formal side of white. The term is not not mentioned that often, but it is important in any conversion that has to stay color-consistent. You may care for various reasons, such as:
- you may want to light art with lightbulbs that give off a daylight sort of white, or with the same type of fluorescent light something was painted under.
- you probably want to match your monitor colors to printed colors. This largely involves gamma, but also color temperature since even a relatively small 'lamp reddish' effect can be annoying. This is one aspect among others that help printed photos look like they do on your monitor.
Materials reflect/absorb light in a specific way that you could call their color. However, we only see objects when actual light (some illuminant) hits it, and all light is tinted in some way. Lightbulbs emit warmer light than sunlight, so indoor photos have a habit of looking like they have yellow-orange sort of tint when contrasted with outdoor photos.
In formal definitions, each illuminant has a brightest point, a white point. The fact it's not ideal white doesn't matter so much -- human color interpretation is quick to see interpret colors in this way, compared to the brightest color we are seeing.
In reality, the white will be a bright, low-saturation color, and often given in x,y coordinates, sometimes in X,Y,Z coordinates. White point conversions need to happen via XYZ.
To be fair, it doesn't always matter. For diagrams, colors only really have meaning in direct (adjacent) context. Sparse diagrams on white(ish) paper all look about the same.
Still, in photo work, you may want the ability to to accurately consider white points when converting between color spaces. Not so much to reflect reality exactly (photos may have intentional white balance choices - properly desaturated indoor photos can look a little depressing), but instead to be able to keep a picture's look (mainly its tint) looking the same across different devices - say, monitor and printer, which use entirely different processes to let you see things, or to calibrate a scanner (which often use fluorescent light) so that it doesn't change colors.
Some relatively common illuminants (with estimated color temperature):
CIE's D series illuminants represent daylight;
- D65 (6504K), used in TV, sRGB, and others, apparently represents various stages of daylight.
- D50 is indirect sunlight or incandescent light
Other CIE illuminants (most are considered obsolete):
- Illuminant A (about 2800K) is incandescent light, close to tungsten and to burning candles, which are approximated by 2500K.
- Illuminant E is a hypothetical energy-equal illuminant, used for CIE RGB.
- Illuminant B is direct sunlight (4800K)
- Illuminant C (~6800K), a tad bluer than D65.
These illuminants are defined by CIE XYZ coordinates. The Kelvin temperatures are just approximations, convenient for description.
You can decent conversion between colors with different illuminants, by converting via XYZ, and adding a chromatic adaptation transform.
It is common to do this using the Bradform transform, instead of the older von Kries or the naive lack of transform)
The Bradform, using the illuminant details and one of three formulae:
- von Kries