![]() |
![]() |
![]() |
![]() |
|
1/350 sec | 1/250 sec | 1/180 sec | HDR composite | |
image source: Fernando D. Smith |
The goal of this project is to build an HDR image from multiple LDR images.
To achieve this goal, we first build an HDR radiance map from multiple LDR exposures by solving the camera's response curve.
The algorithm is described in Debevec and Malik 1997.
fig.1 response curve recovered from the Memorial Church series
Once we have the response curve g, we can use g and the exposure time to find the radiance at a given intensity.
Below is the radiance map constructed from the images in the Memorial Church series .
We can then apply tone mapping to the radiance map to get a decent looking HDR image. The simplest thing to do is to normalize the radiance map so the pixels are displayable. This produces very dark result(small pixel value) since the range between the brightest and the darkest pixel in a radiance map is large. So we use a global tone mapping operator to reduce the range between the brightest and the darkest pixel. I used log(radiance) in my program. A local tone mapping algorithm is better with reducing hallow and preserving the details in an image. We implemented the edge-preserving bilateral filtering in Durand 2002 to abstract details from the radiance map.
Below is the detail layer computed from the Memorial Church series .
Here are some results computed from given project data
normalized | global simple tone mapping | local tone mapping |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
all source images | global simple tone mapping | local tone mapping |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |