CS129 / Project 5 / HDR

The Algorithm

Generating the HDR Radiance Map

First, I iterate over each exposure. For each exposure, I iterate over all pixels and sum up those values' results from the following equation: (weights(curr_pixel) * (g_red(curr_pixel) - exposure_matrix(curr_pixel,i))). I process the color channels separately. Meanwhile I am also computing the sums of the weights, which after iterating over the exposures are used. Lastly, let us not forgot: e^(hdr_radiance_map).

Global Simple Operator

With decent results, I decided to use the following operator: L/(1+L). After computing this, I use the global scale operator.

Bilateral Filter

I used a brute force method, employing the psuedocode from page 13 of this paper

Input Images

The Results

Globally Scaled Radiance Map

Pixel Value versus Exposure

Detail Layer

Large Scale Structure

Simple Toning Operator

Durand (Local) Method