CS 766 - Fall 2008

Project 1

Mayank Maheshwari / Blayne Field

Algorithm

Implementation details

Step 1: Images We took around 10 sets of images (both indoors and outdoors) with varying shutter speeds for the project. For conciseness of the report, there are only 2 sets on this page. We used the Canon Powershot SX100IS for the pictures. If you are interested in seeing our amateur photography and the tonemapped versions of our images, please email us.

Step 2: Assembling an HDR image The Matlab program radiance.m takes in the set of input images and outputs the response curve of the camera and the radiance map of the image. fcurve.m is our implementation of Debevec's algorithm implemented as gsolve in the paper.

Step 3: Tone Mapping We used the tonemap function in MATLAB for converting the radiance image into the tonemapped version. When using Matlab's tone map function, we had to adjust the saturation quite a bit in order to get a decent looking image. The "AdjustSaturation" parameter gave pretty good results with the value 4.

Step 4: Using the code A sample Matlab session for creating a tone-mapped image using our code is as follows:
files={'apartment_images/DSC_3724.JPG', 'apartment_images/DSC_3725.JPG', ...'apartment_images/DSC_3734.JPG'};
exp_times = [1/3200 1/1600 1/800 1/400 1/200 1/100 1/40 1/15 1/8 1/4 1/2];
hdr = create_hdr(files, exp_times, 2.5);
image(tonemap(hdr, 'AdjustSaturation', 2.6))

create_hdr.m relies on:
radiance.m
fcurve.m
every_x_pixels.m

Extensions

Additional Implementation