Using multiple exposures of a raw photo to get more detail
One of my main photographic interests is trains, and I like to be able
to retrieve a lot of detail - the running gear beneath the body is often
very dark. By using raw photos I can use a "correct" exposure, an overexposure
to provide the dark parts, and a corresponding underexposure to provide the
highlights and (mostly) balance things out. But I think this approach can also
be useful for general views.
My aim is to simplify my preparation - I still have to sort out lens
distortion, and rotation or perspective distortion when the camera is not held
straight, but the process is now a little easier.
The following example pictures are end results, resized to 400 pixels tall.
Each one links to a set of images at 900 pixels tall
showing the camera's own jpeg, various raw exposures, the result of the plugin,
and various corrective measures after that. These are not necessarily the
best way to process each of these pictures, but the process seems to work
reliably on my subjects as well as on general views.
If you are not aware, gimp-2.8 is the stable series, 2.9 is for
development versions where things can change.
Revision details since I first uploaded this for gimp-2.8 :
- I discovered that my ufraw setup was wrong - I had copied it to a different
machine to work in gimp-2.8 whilst I experimented with gimp-2.9 on the original
machine, and along the way I had managed to pick up an old curve in ufraw,
instead of the default straight line from bottom left to top right. That boosted
some darker tones, and in some cases I used different exposures because of that.
- I only had this working for gimp-2.8. Now it is working in 2.9
and to prove that I've used 2.9 for some of these examples (Alpacas, Banyuls,
- On the original I used G'Mic Tone Mapping
in the mistaken belief it was like the old Advanced Tone Mapping plugin : it is
more like a sharpener. Now I've gone back to the old
Advanced Tone Mapping plugin
except for the Banyuls pics where I forgot (and since doing those I've updated
to a newer version of gimp-2.9) : in current 2.9 this plugin will produce some
messages, but for the moment they are harmless.
- In my latest testing I used a gimp-2.9 version from 2017-08-14 for the Le
Train Jaune pics. (gimp-2.9.6 has now been released, some brief testing on other
pictures shows my plugin still works.)
To my chagrin, ufraw's plugin is no longer recognised as a valid way of opening
my RAW photos (fair enough, I suppose, it is no longer maintained, and I haven't
yet looked at why gimp will no-longer use it). As an alternative I compiled
RawTherapee and used it for these examples - but I'm not comfortable with it and
I'm not sure if I've managed to "neutralise" all its default settings. I'll need
to find the time to experiment with Photoflow and darktable.
More details are below the set of pictures.
|Alpacas near Eynsham
||A street in Waidhofen an der Ybbs
|RhB coach A1275 at Poschiavo
||Peldon at the Amberley Museum
|Taliesin at Minfordd
||Le Train Jaune
Summary of the process
This is for raw photos except those from foveon sensors (which create
'x3f' files, used in Sigma cameras) - for those, Kalpanika/x3f appears to be
the only way to use such images on linux or BSD. I've no idea if that can be
used with the gimp.
- Using a suitable tool (for 2.8 I use ufraw, for current 2.9 see my comments
in item 4 of the revision details above), select a "base" exposure
which you think is "correct", an overexposure to get shadow detail (typically +2EV,
but +1EV if not much contrast, or +3EV in a few awkward photos), and a corresponding
underexposure for the highlights. Save each of these as an xcf file (or, from ufraw
batch, an 8-bit png file). The non-batch viewer in ufraw can indicate overexposure,
and I set it to restore in HSV space for sharp details on negative EV, and to soft
film-like clipping for positive EV.
- Open the base exposure, then use 'Filters -> Three Exposures' and specify the
files for the shadow and highlight images. The shadow image is added as a second layer,
duplicated, desaturated and inverted to form a mask (i.e. the darker something is in
the shadow layer, the more it wil be used). The highlight image is added above this
and similarly processed, except the mask is not inverted (so whatever is bright in the
highlight layer will be used). Then the layers are merged.
- Often, the result can be hard to view (loss of contrast). I now use the G'MIC plugins
(G'MIC-GTK in v2) and from that I use Local contrast enhancement. Previously I used to
use Gimp's contrast tool.
- At this point I make corrections (lens distortion, rotation, perspective, clipping)
to make the best of a bad job (sigh! ALL modern digital cameras
seem to give barrel distortion on wide-angle lenses, and bridge cameras may give
pincushion distortion at longer focal lengths).
- I now apply the Advanced Tone Mapping
plugin : In gimp-2.9 this currently produces a number of messages about deprecated
functions, but for the moment it still works. This plugin adds an extra layer, which
you will need to merge down. In the previous version of this page I had wrongly used
the G'MIC Tone Mapping, or occasionally Tone Enhancement, filters, but what those
actually do is apply some sharpening. The Advanced Tone Mapping filter tends to lighten
some parts of the image, but mostly it is benign and overall it doesn't do a lot at the
- The picture is probably still slightly lacking contrast. If I'm going to put it
online, I usually want to add some more contrast, at the expense of a little of the
recovered shadow detail. For that I use the Curves tool: click on points at 25% and
75% of the way along the line, pull the 25% point down (parallel to the line) and
the 75% point up. Undo then redo to see the effect, then probably undo again and have
another go - the curve does not usually need to deviate far from the central line.
- Finally, sharpen it. I mostly use the Unsharp Mask. For this, zooming in to
full-size to check the results is essential. In G'MIC there are a lot of other sharpening
filters. Historically I have tended to over-sharpen, I'm now trying to get away from
that, but no promises.
When used with gimp-2.8, I usually get a small rectangle appearing at the top
left of the image after using three-exposures. This is not actually in the iamge,
saving or undo/redo will refresh the display. With gimp-2.9 the display does not
update after running three-exposures: again, either save or undo/redo to force
it to update. I think I've see a similar issue with Advanced Tone Mapping in 2.9.
- It reduces contrast, so you then have to take steps to restore that.
- Colours will not be accurate - see the pictures of Peldon which is a dark green
diesel locomotive, but tends to become lighter.
- The process will not recover all of the shadow detail, and highlights might still
be a bit blown.
- Using significant underexposure for the highlights may produce image noise - see
the sky in the Alpaca pictures (iso400 ±3 stops on a bridge camera). However, photos
using ±3 stops taken on my Olympus, even some at iso400, seem OK.
A lot of the gimp's internals have changed in 2.9, so use the correct
version of the plugin (last tested with 2.8.22 and 2.9.6).
The 2.8 plugin is here: 2.8 plugin.
And the 2.9 plugin is here: 2.9 plugin.
Ken Moffat, 2017-09-02. E&OE