website: https://www.csie.ntu.edu.tw/~cyy/courses/vfx/21spring/assignments/proj1/
- Taking photographs.
- Take a series of photographs for a scene under different exposures. (by changing shutter speed)
- Write a program to assemble an HDR image.
- we implemented the Paul Debevec's method. (Recovering High Dynamic Range Radiance Maps from Photographs, SIGGRAPH 1997.)
- Develop your radiance map using tone mapping.
- we implemented Reinhard's method. (Photographics Tone Reproduction for Digital Images, SIGGRAPH 2002.)
- Bonuses:
- we implemented the MTB image alignment method for HDR imaging.
- 電信所碩一 顏子鈞
- 電信所碩一 陳詠源
please install them using pip install -r requirements.txt
. packages used in our code:
- numpy, pillow, opencv-python, matplotlib
Generate HDR Image and Tonemapped LDR Image:
$ cd code
$ python main.py --dataset <name_of_dataset> --dataset_info <path_to_textfile> --N <num_of_samplepoints_per_image> --tm_key <key_to_control_tonemapping>
Note:
- to disable MTB image alignment, use
--disable_mtb
flag - choices of
<name_of_dataset>
: memorial, ntu_sample1, ntu_sample2, ntu_sample3, ntu_sample4, default = ntu_sample1 <num_of_samplepoints_per_image>
is the sampling point used for calculating Debevec HDR algorithm, default value = 40<key_to_control_tonemapping>
is the key parameter of Reinhard's photographic tonemapping algorithm, default value = 0.5- output files are all save at
"data/output/"
directory, including HDR irradiance map, camera response curve, tonemapped LDR image (global and local operation).
- original captured images:
- calculated irradiance map:
- reconstructed HDR images:
- original captured images:
- calculated irradiance map:
- reconstructed HDR images: