I implemented several tone mapping techniques to convert an HDR RGBE format image to a three channel, 8bpp PNG image.
- The non-linear operation from Reinhard et al.
- The linear mapping based on adaptation luminance from Ferwerda et al.
- Normal linear mapping.
- Modified linear mapping: I find the mean luminance of the pixels, then scale all pixels below the mean to [0 0.5] and all pixels above the mean to [0.5 1].
Results
For each HDR image, I show three results from Technique 1 with different key values, then three results from Technique 2 with different display adaptation values. Then I show the linear and mean-linear mappings. Note: I converted all my images to jpeg so they will download faster.
Cornell Box
from here. The classic test.
key=0.05 |
key=0.18 |
key=0.56 |
|
Lda=0.10 |
Lda=0.50 |
Lda=0.80 |
|
Linear |
Mean-Linear |
Desk
from here. A book on a table in front of a stained glass window.
key=0.05 |
key=0.18 |
key=0.56 |
|
Lda=0.10 |
Lda=0.50 |
Lda=0.80 |
|
Linear |
Mean-Linear |
(car) park
from here. Looks like a garage.
key=0.05 |
key=0.18 |
key=0.56 |
|
Lda=0.10 |
Lda=0.50 |
Lda=0.80 |
|
Linear |
Mean-Linear |
Conclusions
The Reinhard method seems to give better results in general, except for the appearance of some blue artifacting in bright regions in the park image. The Ferderwa method has its share of problems with the park image as well, never resolving the bright area very well. The Linear method does pretty poorly, but actually does a good job of resolving the bright areas in the park image. I was suprised at the relatively good results my Mean-Linear method achieved, given the simplicity of the operator.