Björn Ottosson – How software gets color wrong

https://bottosson.github.io/posts/colorwrong/

 

Most software around us today are decent at accurately displaying colors. Processing of colors is another story unfortunately, and is often done badly.

 

To understand what the problem is, let’s start with an example of three ways of blending green and magenta:

  • Perceptual blend – A smooth transition using a model designed to mimic human perception of color. The blending is done so that the perceived brightness and color varies smoothly and evenly.
  • Linear blend – A model for blending color based on how light behaves physically. This type of blending can occur in many ways naturally, for example when colors are blended together by focus blur in a camera or when viewing a pattern of two colors at a distance.
  • sRGB blend – This is how colors would normally be blended in computer software, using sRGB to represent the colors. 

 

Let’s look at some more examples of blending of colors, to see how these problems surface more practically. The examples use strong colors since then the differences are more pronounced. This is using the same three ways of blending colors as the first example.

 

Instead of making it as easy as possible to work with color, most software make it unnecessarily hard, by doing image processing with representations not designed for it. Approximating the physical behavior of light with linear RGB models is one easy thing to do, but more work is needed to create image representations tailored for image processing and human perception.

 

Also see:

https://www.pixelsham.com/2022/04/05/bjorn-ottosson-okhsv-and-okhsl-two-new-color-spaces-for-color-picking/

Share: