High Dynamic Range Imaging

Team Project

Generate a High Dynamic Range (HDR) image from multiple images under different exposures.

Figure 1. Input: a serise of images with different exposure times. Output: an HDR image.

HDR images have large dynamic ranges that correspond to the irradiance value of a scene in the physical world. We implement a program to assemble an HDR image from a list of images with an identical scene but with different exposure times. The end-to-end algorithm contains three steps: 1) image alignment, 2) HDR, and 3) tone mapping. We implement the Ward’s Median Threshold Bitmap (MTB) algorithm for image alignment, both Paul Debevec's and Robertson's method for HDR, and both global and local version for tone mapping. Exemplary results for each step are shown below. Please refer to the technical report for more details. Our code is also publically available at GitHub.

Figure 2. From left to right: original image, median threshold bitmap, and exclusion bitmap.

Figure 3. Irradiance map of RGB channels and function g(Zij) in Debevec’s Method with lambda = 10.

Figure 4. From left to right: Paul Debevec's method, Robertson's method, Matlab’s default implementation.

Figure 5. Three methods for tone mapping. From left to right: Reinhard’s global version, Reinhard’s local version, Matlab’s default implementation.