# How to determine the difference of color vibrance of a pair of images?

I'm an engineer, so my terminology may be incorrect when posing this question.

I have a pair of pictures below and the top one is clearly more "colorful", "vibrant" and "saturated". The bottom one has very saturated colors and is mostly white/gray/beige.

How do I quantify the difference in how colorful or vibrant the two images are? In other words, I want to break the image into spectrum of colors present in the image using the scale in the middle. The top image would have very high values for blue and green, while the bottom image would not.

Does Photoshop or illustrator has a tool to help me with this? Histogram comes to mind, but I'm not sure if it has what I need - the histograms for images are below.

Colorful beach image histogram:

Whitish classroom image histogram:

• The Wikipedia page for Saturation is quite detailed and might help. It also contains the CIELUV normalization formula. Maybe that helps May 14, 2017 at 6:22
• @BlueWizard Thanks, I found that Saturation is indeed the primary differentiator between the two images, so HSV color space is the one I need to use for analysis. May 18, 2017 at 10:54

We can consider the colorfulness as the average of the differences between R, G and B channels. We must have three comparisons Red vs Green, Green vs Blue and Blue vs Red.

For the start we must make three copies of the image into different layers. We kill 2 colors off from each layer and have one left. The layers are one for red, one for green and one for blue. Killing the 2 other colors from a layer can be done by the curves or the levels tool. It's simpler than messing with the channels panel.

We simulate color separations by desaturating the layers. To be able to use layer modes for comparisons between the layers we also duplicate each layer:

The comparisons are made by setting one layer to have blending mode = difference, the other = normal and when set, the compared layers are merged:

Seems quite dark. But we can add the layers by setting the 2 uppermost to have blending mode = Linear Dodge (that means ADD) and the bottom layer is normal:

This is the colorfullness pixel by pixel. If there were some white areas, those areas would have maximal colorfulness. Black areas are colorless.

By merging the layers and making an average we get the average colorfulnes of the image as single number. This time we do it separately for te top ad lower parts to be able to compare the colorfulnesses:

By checking the brightness by the color picker we get: The upper image has average colorfullness = 37% of maximum and the lower image = 5% of the maximum

The result 37% seems quite low for the upper image which subjectively seems to be very colorful. Let's test the method to really colorful image that has only fully saturated colors:

The pixel by pixel colorfulness are full 100% in every pixel, as expected:

NOTE: This method is so straightforward that it can be recorded as an action.

• This does seem mathematically right. Nice to see a way to isolate the saturation of an image. But there is still the problem that equally distributed RGB color noise/raster/lines etc. will show up as colorful but is perceived as gray or am I missing something? May 12, 2017 at 22:20
• If you downscaled the image before doing the average, the mentioned problem could be avoided. May 12, 2017 at 22:29
• @Wolff You are right. This method does not make difference between noise and intentional colors. One should add a low pass or other pre-filtering that he believes to be equivalent with his inability to see the finest details. May 12, 2017 at 22:30
• @Wolff I do not dare to to say " this is the same as extracting the saturation" altough it gives ok the saturations of greyshades and fully saturated colors. I do not know accurately as numbers what saturation means in Photoshop. Otherwise I would use the blending mode Saturation, which is said to take the saturation from the upper layer. May 13, 2017 at 7:43
• I've been playing around with Saturation blending mode, but I can't find a way to use for extracting the saturation of the image. May 13, 2017 at 10:08