Howto: Creating and processing HDR images using open source software

This article is a follow up on a Google+ discusson asking how open source software can help us to develop HDR images. It describes the steps I took when developing the images from the Sustenpass in Switzerland.

In a very simplistic view, the whole process consists of three steps.
1) Take pictures with different exposure settings using the bracket mode of your DSLR.
2) Merge these images to a single HDR image.
3) Tonemap the HDR image and postprocess it like any other image

Necessary software

To develop HDR images the following open source software needs to be installed.

Creating the HDR image using Luminance HDR

Within Luminance HDR perform the following steps

  • Load your bracketed images and enter exposure values if they are not present in the exif data. Choose "Autoalign images" using Hugin's algorithm and "Auto anti-ghosting". If you want to adjust alignments and anti-ghosting manually check "Advanced Editing Tools".
    Click "Next"
  • Wait for Luminance HDR to process your image, and apply any necessary manual adjustments. If you are not satisfied with the autoalignement, adjust the realtive image positions. If moving objectes between your images are not masked properly adjust the deghosting masks.
    Click "Next"
  • The next screens allows you to select a profile to merge your images into a single HDR.
    Usually theĀ  firstprofile will do just fine.
    Click "Finish"

Tonemap within Luminance HDR

The next screen shows you the final HDR image. Due to the large contrast the HDR images cannot be fully viewed on a screen. There is always some part over or under exposed. When people usually talke about HDR images, they are actually referring to the tonemapped version of the image. Tonemapping compactifies the dynamic range such that it can be displayed on a regular monitor.

Luminance HDR provides several algorithm for tonemapping. We will use the following three algorithms and according parameter values to create different tonemapped images for further development with GIMP.

  • Mantiuk 06
    Contrast Factor: The large the softer the image. I suggest to use values between 0,3 and 0,5.
    Saturation Factor: The larger the punchier the colors. I prefer a value arount 1,2.
    Detail Factor: This really bumps up local details and can easily be over done. I usually keep it at the lowest value.
  • Fattal
    I usually only increase the color saturation to about 1,25
  • Reinhard 05
    This algorithm is more gentle to the highlights then Mantiuk. The standard values for the paramters usually are a good guess.

Finalize in GIMP

Within GIMP the three different images are combined and the final touch ups are applied. The basic steps are listed below, while the order might change, depending on the image you are processing.

  • Load the Mantiuk image as the base layer.
  • As mentioned above, the Mantiuk algorithm might push the highlights too far. This is compensated, by loading the Reinhard image in a new layer, adjust brithness and color temperature to fit the base layer and blend it in, using a layer mask.
  • Reduce noise (mostly in the sky) where needed using GMIC's "Ian's noise reduction" filter.
  • Apply global and local (using layer masks) s-curve adjustments to increase contrast.
  • Sharpen the image using a highpass filter or the unsharp mask from GMIC.
  • Apply local color adjustments (layer masks again) using the Fattal image in color mode. As an alternative you can try to adjust the saturation locally.