Brightening Images for Printing (using GIMP)

Modern computer screens (and television screens) have a much higher dynamic range than do printed images on paper, etc. This means that the screen image can show a lot more detail in the shadow areas than can be seen in a print of exactly the same image.

I often find that an image that looks very good on screen can be disappointing when printed because it appears just a little too dark overall. If you recognise this situation, then you might find the techniques described below helpful. [I am assuming that both the computer screen and the printer are correctly set up and using the correct colour profiles. This article does not address the problem of a computer screen and printer whose colours do not match.]

The obvious way to try to obtain brighter prints is to process the image with tools such as Brightness-Contrast, Levels or Curves) to raise the overall level of brightness as much as required. However, anyone who has tried to do this will know that the colours get distorted by this process. The result often looks more like an antique photograph with badly faded colours. Furthermore, the more the image is brightened, the more the contrast is reduced (unless the highlights are severely clipped) and this has the side effect of making the image look much softer (the human eye needs high contrast to be able to resolve fine detail; an image with reduced contrast looks much less sharp).

The purpose of this article is to describe a simple method for brightening the image while preserving the original colours (both hue and saturation). I also show how the Unsharp Mask tool can be used to compensate for the loss of visual sharpness and clarity caused by the reduction in contrast.

The Method

The method is quite straightforward and can be used in GIMP, but it does not work in Photoshop. The method uses layers, but in a very simple way. It should be easy to follow even if you have had very little experience of using layers.

The essential part of this method is to create two identical layers from your original image. The mode of the top layer is set to 'value' and this means that the visible image picks up its brightness from this layer only. The bottom layer now only determines the colour (hue and saturation) of the visible image. The  brightness of the bottom layer is effectively ignored.

The top layer is then operated on in the usual way with your favourite tool (Brightness-Contrast, Levels, or Curves), but any colour changes caused by that tool are no longer visible because the visible image gets its colour (hue and saturation) from the bottom layer, which remain unchanged.

An Example

I will use the following image as an example:

 [This image hasn't been properly sharpened - that is best done after the other processing]

The image looks correctly exposed when viewed on the computer screen and has a pleasing tonal range, but the most important part is the girl's face and it is largely in shadow. When printed, the face comes out looking a little too dark for my taste. The detail around the eyes is not as easily visible as it is on screen and the colours of her cheeks look more subdued in the print than they do on a good quality computer screen.

[Of course, a much better way to improve the image would be to take more care in setting up the shot and arrange the lighting to get more light on the girl's face. However, this was a candid shot using only the available light; sometimes we just have to work with whatever we get.]

To try to remedy this, I process the image as follows (the illustrations are from GIMP 2.8):

The first step is to use Layer>Duplicate Layer to create two identical layers from the original image.

Then select the top layer by clicking on the thumbnail for that layer in the Layers dialog box (see left) and set its mode to 'Value'.

Select the top layer and use the Curves tool (select Colors>Curves) to pull up the tone curve (see left). The exact shape of the tone curve is a matter of personal taste. Make sure that the Preview box is ticked so that you can see the effect on the image as you change the tone curve.

This is the result of applying Curves as described.

The image looks rather soft, so the next steps are to improve its clarity and sharpness.

If you want to see how the colours would have changed if you simply applied Curves without the extra layer to preserve the hue and saturation, simply click on the eye symbol next to the bottom layer. That layer is then ignored (made invisible).

[Simply click on the eye symbol a second time to get it back again.]

This is the visible image when the bottom layer is made invisible.

The next step is to enhance the local contrast by using the Unsharp Mask (USM) tool (in GIMP, select Filters>Enhance>Unsharp Mask). For this image I used a radius of 20, an amount of 0.13 (or 13%) and a threshold of 0. This increases the local contrast slightly and gives the image a bit more clarity.

[Notice that the part of the image shown in the preview window does not have the correct colour as it is taken from the top layer only. The hue and saturation from the bottom layer is not applied to the preview.]

The final step is to apply some sharpening. For this, I used USM with a radius of 0.3, an amount of 0.7 (or 70%) and a threshold of 0. 

The final image is:


To properly compare the original and final images, print them side by side (at 300ppi) on a good quality photographic paper. The difference is much more noticeable on paper.

In this example, I have applied a substantial amount of brightening which may or may not be to your liking. It is easy to adjust both the amount of brightening and the amounts of local contrast enhancement and sharpening over a very wide range.

Another Example

Original image
Processed image

Further Discussion

Changing the Tone Curve

I generally use the Curves tool as it gives the maximum degree of control over the final shape of the tone curve. However, if you are more comfortable with using Brightness-Contrast or Levels, then these can be used equally well. Often there are several different ways of achieving the same result, so use whichever you prefer.

Each image is different, however, and you often need to experiment to find the most pleasing result. The exact shape of the tone curve determines the appearance of the image and quite small changes can have a noticeable effect.

Many modern cameras produce images in which the colours are somewhat over-saturated because many people prefer such images. The extra saturation often becomes more obvious (and rather garish) after brightening the image. If you find this to be so, simply select the bottom layer and use the Hue-Saturation tool to reduce the saturation to an acceptable level.

Local Contrast Enhancement using the Unsharp Mask Tool

The size of the image can be significant when choosing parameters for the USM tool. I generally resize the image before doing the processing. I choose the image size (in pixels) so that it gives the print size I want when printed at 300ppi. Generally I make fairly small prints, typically less than A4, so the images are often much smaller than those straight from the camera (which has the advantage that it speeds up the processing time). However, everything works just as well for large images, if slightly more slowly.

For local contrast enhancement, I typically use USM with a radius between 20 and 50. This parameter is not too critical, so you don't need to spend much time trying to get it exactly right. I typically start with 30 and change it if necessary. The radius parameter (in pixels) specifies the scale of local contrast changes. 

The amount parameter is more critical and must be found by experiment. Start with 0.3 and increase or decrease to taste. The more the contrast was reduced when using the Curves tool, the more local contrast enhancement is needed to restore clarity to the image. In my experience, the amount is almost always somewhere between 0.1 and 0.5, but very occasionally larger values may be needed.

The threshold parameter can normally be left at 0.

If you already have a favourite method of local contrast enhancement, then you can use it instead of USM.

Sharpening with the Unsharp Mask Tool

I generally use a radius of 0.3 for sharpening (for very large images I may increase that to 0.6).

The amount must be found by experiment. I typically start at 1.0 and change it if necessary. Some portraits are best not sharpened at all, but most images need something between 0.5 and 2.0.

Most printers reduce the sharpness slightly in the printing process (because the ink spreads slightly in the paper). To compensate for this, it is common practice to use more sharpening on images for printing. An image that is sharpened for printing may look oversharpened when viewed at 100% on the computer screen. To compensate for this, I view the image at 50% size on the computer screen and if it looks acceptably sharp, the print will generally look OK. I cannot guarantee that this will work the same for you, however, as it depends both on the particular printer and on the software used for viewing the image.

If you already have a favourite method of sharpening, then you can use it instead of USM.

Further Processing

If you wish to continue with further processing on the image, you should first select Image>Flatten Image to reduce the image to a single layer again, and then proceed with any further processing you wish in the usual way.

Alternative Methods

There are, of course, many other ways of processing images to make them look brighter. Many professionals have a whole repertoire of techniques that they use. The method described above is fairly straightforward for those with only moderate experience of post-processing.

Another very similar method is to start by creating three identical layers of the original image and setting the mode of the top layer to 'Hue' and the middle layer to 'Saturation'. Then apply Curves (or other tools for changing the tone curve) to the bottom layer only. The hue and saturation are taken from the top two layers (which remain unchanged). This method will give identical results to the first method.

Yet another possible variation is to create two identical layers of the original image and set the mode of the top layer to 'Color' and apply Curves, etc. to the bottom layer only. I have been unable to get this method to work correctly in GIMP 2.8.

Why Doesn't It Work in Photoshop?

Photoshop CS6 does not have the layer mode 'Value'. It does have the layer mode 'Luminosity' which is similar and could be used instead. However, the problem with using luminosity is that channel clipping can easily occur, particularly if large changes are made to the tone curve and the image contains bright colours. Clipping inevitably reduces colour saturation, which is exactly what we are trying to avoid.

The reason why clipping occurs with luminosity mode and not with value mode lies in the precise mathematical definitions of the HSL and HSV (and other) colour models that are used to define luminosity (or luminance) and value.

 [This article is based largely on an earlier article "Reducing Contrast Without the Colours Fading"

The views and opinions expressed in this article are those of the author and do not necessarily reflect the views and opinions held by or any affiliated companies.


By ConanFuji (7 months ago)

Thank you for posting...
helpful read.