Ben Raymond

A recent question about the within-species colour variability was: why use HSV colourspace? Wouldn't it be easier just to calculate colour differences in RGB colourspace?

The answer is superficially quite simple: differences calculated in HSV colourspace seem to be a better match to the colour differences that we perceive.

For example: consider these two colours, one greyish-green and the other reddish-pink:

   colour 1a (RGB 111,132,121)    and    colour 1b (RGB 245,57,114)   

The Euclidean distance between these two colours in RGB colourspace is 0.6. Their dissimilarity in HSV colour space is 1.2.

Now consider this second pair of colours, which are both shades of green:

   colour 2a (RGB 173,234,17)    and    colour 2b (RGB 23,219,8)   

The Euclidean distance between these two colours in RGB colourspace is 0.6 (i.e. the same as for the first pair of colours). However, their dissimilarity in HSV colour space is 0.2.

The dissimilarities in HSV colourspace seem to be a better match to the perceived colour differences.

However, colour perception is a complex area, and there may well be shortcomings in the HSV approach as well (I haven't tested it exhaustively).

Of particular interest here is the fact that human colour perception is not necessarily what other organisms perceive. The colour perception of birds, bees, and other insects is known to be quite different. It would be very interesting to quantify flower colour differences as perceived by different organisms.