HSV Components Layer Modes

Done using GIMP 2.10.24 on Kubuntu Linux 20.04 LTS

As we move into the last two sections we encounter some new modes that have not yet been documented, but I have been able to find some information nonetheless. One good source is Linuxtopia’s GIMP Guide. And of course Mike Davies is there with his review all of the Layer Modes.

The HSV model

HSV stands for Hue, Saturation, and Value. And this opens up the whole topic of color models. The one we have used so far in this series is the RGB model, which is the model used for Web graphics. It is also the model used in televisions. You can see this with a good magnifying glass, or a neat trick is to use the your cell phone camera and keep zooming in without actually taking the picture. You will eventually magnify it enough to see the individual red, green, and blue component dots. The RGB model is what we call an additive model because the three primary colors are added together to produce all of the other colors. If you max out all three primary colors you get a pure white, or if you set them all to zero you get a pure black. But if you max just two of the primary colors you get one of the secondary colors. Red plus Blue gives you Magenta, Red plus Green gives you Yellow, and Green plus Blue gives you Cyan.

And that brings us to the CMYK color model. This is what we call a subtractive color model, and is used in printing. For example, if you wanted to prepare a piece to be printed at a commercial printer, you would need to prepare it using the CMYK color model. And of course anyone using an inkjet printer knows those are the colors of ink you need if you want to print. This is called subtractive because you start with a white piece of paper, and the fact that it is white means that it reflects all colors of light equally. What the inks do is subtract certain colors from the reflection by absorbing them. So the Cyan ink absorbs Red, but reflects Green and Blue, the Magenta ink absorbs Green light but reflects Red and Blue, and the Yellow ink absorbs Blue but reflects Red and Green. Theoretically, combining all three inks should yield Black (the “K” in CMYK), but in practice the inks don’t absorb perfectly and still let some color come through, and for many purposes such as printing most text using all three color inks would be wasteful, so a black ink is part of this process.

So, what about the HSV model. This describes color in terms of three values. The first, Hue, describes color using both RGB and CMY colors, and is often pictured using a cone or a cylinder. The colors fill a 360 degree circle, with Red starting at 0 degrees, Green starting at 120 degrees, and Blue starting at 240 degrees. And of course, midway between the primary colors you get the three secondary colors. So Hue is the color part of this. Saturation is the amount of Gray in the color, and the lower the saturation the more gray, while higher saturation makes for more vibrant colors. One way to turn a color image to a black-and-white image is to reduce the saturation to zero (though that may not be the best way to do it). Finally, Value is a measure of the brightness, or how much light is emitted from an area. The idea of the HSV model, as the creators put it, was to more closely model how humans perceive colors.

Foreground color picker with HSV values

This image shows how you can see the HSV values in GIMP. I opened the Foreground Color screen, and clicked the HSV button on the upper right. You can change the Hue by typing in a number, or just move the slider on the thin vertical bar that has the color spectrum. Similarly, you can set Saturation by typing in a number, or you can move the vertical bar in the leftmost window. And for Value, you can also move the horizontal bar in the leftmost window.

For a good look at the general topic of color models see this Wikipedia article.


This Layer Mode takes the Hue from the top layer and combines it with the Saturation and Value from the bottom layer. To illustrate how you might use this, I created a layer and filled it with the brown color shown above in the Foreground Color picker (with the HTML color value of 857369) and made it the top layer, and for the bottom used my Toy image. Setting the top brown color layer to HSV Hue Layer Mode gave me this altered image:

Toy image with HSV Hue

As you can see, what was a mostly Blue image is now mostly brown, and the yellow parts of the original have migrated to orange. But in all other respects the image is the same. Hue just modifies the colors slightly. But there has to be a color difference to see any effect. When I did the same thing with the Dog image I could not see any difference at all, which is because the Dog image was all browns to begin with. But when I changed my color layer to a green color and used this with the dog, I got:

HSV Hue with Dog

HSV Saturation

In this mode the Saturation of the top layer is combined with the Hue and Value of the bottom layer. So what it does is change the intensity of the colors in the combined image. I went back to my green color layer and pushed the Saturation up to 100. Then I combined it with the Dog image using HSV Saturation Mode, and got this image:

Dog image with HSV Saturation.

What you are seeing here is that some colors that were in the original image, but very muted, are now made very vibrant. For example, under the dogs eyes and around the nose were black in the original image, but black is rarely a pure color. There were shades of a very muted dark blue in those blacks, and with the saturation maxed out they now pop out. Similarly, some of the brown in the original was a reddish brown, and this brought out all of the red very intensely. Note that the color layer I used was green, but you don’t really see much of that here, which is because there wasn’t much green in the original image. The little bit I can see is not from the dog itself, but from the background of the picture.

Doing the same thing with the Toy image:

Toy image with HSV Saturation

Here, we can see a few things. The shadow of the wizard appeared gray in the original, but obviously had a bit more red in it. And the white background was not pure white, but had some color in it that the maximized Saturation brought out.

HSL Color

This uses a very slightly different color model, the HSL model, which keeps Hue and Saturation, but instead of Value uses Lightness. This model tries to match the way paints mix in the real world, with more white giving lighter colors and more black giving darker colors. A really good use for this is in adding color to black-and-white photos, because all of the variation in grays scale of the original is retained. This mode mixes the Hue and Saturation of the Top layer with the Lightness of the bottom layer, and to colorize a black-and-white photo you would make the color layer the Top layer and the photo the Bottom layer.

To get a nice black-and-white image, I went to Snappygoat, which has 13 million Public Domain/CC0 images, and grabbed this photo of a little girl:

Black-and-white image of young girl.

Then I created a color layer using the same green as above, and I got this:

Girl with HSL Color

Now, if you were seriously trying to color this photo you might keep this green for the vegetation in the background, but use a layer mask to keep it off of the girl. Then do something similar with a flesh tone for her skin, and so on. Or if you just like this as it is, keep it all green.

HSV Value

As you probably have guessed, the HSV Value mode keeps the Value of the top layer and combines that with the Hue and Saturation of the bottom layer. Recall that Value is a measure of the brightness as expressed by the shades of gray. So a good way to illustrate this is by using a gray-scale gradient as the top layer. I created a liner gradient using Black as the Foreground color and White as the Background color, and combined it with the Dog image to get this:

Dog image with HSV Value

And doing the same with the Toy image gave me:

Toy image with HSV Value from Gradient

Doing this with a pure white color layer gives an interesting washed-out effect to the combination:

Toy image with HSV Value from White

And of course using a pure black layer it combines to form…a pure black layer. No light can escape from a black hole.

 Save as PDF