Computer colors aren’t consistent
augmentedreality.miamioh.edu
augmentedreality.miamioh.edu
Some of the confusion in the article relates to terminology. >When we say “yellow” we typically mean a pure monochromatic light with a wavelength of about 570nm. This is not actually what most people mean. Colors like "yellow" usually mean the tristimulus values that produce the visible color yellow. This is a totally different concept than a single-wavelength light source. This becomes more important for colors like "purple".
But we can actually get pretty good results for most people, most of the time, by sticking to industry standards. If a display can get the chromaticity of its primaries close to the sRGB spec and bright enough for the context, and content authors design for sRGB, then most people (minus the substantial percentage who have color vision deficiencies) will see something reasonably close to what the content author intended.
If the display doesn’t match the spec (like the iPad mini retina display which trades color fidelity for power efficiency), then it would be nice if software would compensate a bit. Unfortunately, mobile operating systems and software don’t ever bother with color management, because it was too computationally expensive for the first 2 generations of iPhones. It’s sad that this is still true for iOS, considering how Apple pioneered color management software in the 90s.
For folks with color vision deficiencies, we could probably do better than current displays, but there are several types of color vision deficiencies so it’s going to be pretty hard to satisfy everyone.
If we're going to be fixing colour, we can start with the abomination that is sRGB. It has a nontrivial RGB<->sRGB conversion function and you must convert your images to/from it for every single operation like alpha blending (i.e. font rendering with anti-aliasing) and scaling, or the results will be wrong. Sometimes only a bit wrong, sometimes spectacularly wrong. We should just switch to 16 bits per channel linear RGB. People just get everything else so wrong.
For saving images to disk or transmitting them over the wire (e.g. images making up part of a web page), it’s a great advantage in most cases to use gamma-encoded rather than linear values, because we want to save bandwidth and storage.
For operations internal to e.g. an image editor, just use floating point numbers and a linear space.