CS766 Project 1 Report

Shijin Kong (krobin)

 

GOAL

This project aims to recover high dynamic range radiance maps from a series of photographs taken with different exposures. Debevec's algorithm is used to calculate response curve and further recover radiance map with it.

 

INSTRUCTIONS TO RUN PROGRAM

  1. Use gil library to read in a set of photos and read in configuration file, including the exposure for each photo.
  2. Pick certain number of pixels from a set of photos. Those pixels are ensured to have wide range of pixel values on the photo set as to make recovered response curve more accurate.
  3. Use CLAPACK library to perform Singular Value Decomposition (SVD) on a group of over-determined equations, find the least-square solution and then get the recovered response curve.
  4. Output the high dynamic range radiance maps (.hdr file) with recovered response curve.

          >HDR.exe photo1 photo1_

     The output results is stored as photo1/photo1_.hdr

 

PHOTO SETS

I took three photo sets, which are stored in directory photo1, photo2, photo3 respectively. Besides photos, each directory contains a filename called "shutter.txt". The first line of shutter.txt is the number of photos in this photo set, indicates how many photos will be used. The next few lines are exposure time for each photo. Let's look at photo1/shutter.txt as an example.

photo1/shutter.txt:

13               // <-- total 13 photos in photo1 directory
1.00000          // exposure of photo1_01.jpg is 1.0 second
0.80000          //
0.40000
0.20000
0.10000
0.05000          // ...
0.02500
0.01250
0.00625
0.00313
0.00156
0.00080
0.00040          // exposure of photo1_01.jpg is 0.0004 second

 

HDR RESULTS

 

 

IMPLEMENTATION DETAILS


 

FAVORITE ARTIFACT

It's the photo1_tonemapped.jpg I list above, or you can get it from here.