A creative chat with Developers, Photographers, and CG Artists
Welcome, Guest. Please
TMO (Read 4461 times)
I love HDR
12/19/12 at 11:23:26
I am currently interested in modifying the built-in tone mapping in Picturenaut.
Is it possible to find the source code for them, or at least any links documents explaining the formula, and what the controllable parameters in Picturenaut mean quantitatively?
I am most interested in the 'Bilateral (local TMO)' tone mapping.
Back to top
Reply #1 -
02/18/13 at 14:53:57
I can point you at a couple of papers.
"Adaptive Logarithmic Mapping For Displaying High Contrast Scenes", F. Drago, 1 K. Myszkowski, 2 T. Annen 2 and N. Chiba
"Dynamic Range Reduction inspired by Photoreceptor Physiology", Erik Reinhard, and Kate Devlin
also worth looking up Rheinhards "photographic" algorithm - one of the best simple ones imho:
I used to know who wrote the paper "exposure" is probably based on but the name escapes me at the moment and my google powers are weak. I can look it up if you like.
Many local tonemapping algorithms try to identify "detail" by creating a blurred image. The difference between the original and the blurred image is the fine detail. This is enhanced somehow so it isn't lost during the dynamic range compression.
A common way to do it is to take the density (log(luminance)) image, perform the blur and contrast enhancement in that, and transform back before compressing. You can also push the detail in after dynamic range compression but that is slightly harder to get right.
I think Marc mentioned once that the Picturenaut bilateral tone map uses a 3x3 bilateral filter and log space contrast enhancement. It's most likely based on this paper:
"Fast Bilateral Filtering
for the Display of High-Dynamic-Range Images" by Durand and Dorsey
The scale of the details you can extract depends on the size of the filter that you use, and excellent results can be had with sigma of between 10 and 50.
Unfortunately the relatively simple code you can get away with for a 3x3 or 5x5 filter does not scale well, and code that does scale is not always obviously related to the description of the bilateral filter you will find in introductory papers.
Back to top
Top of this page
» Powered by
YaBB Forum Software
© 2000-2017. All Rights Reserved.