[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openexr-devel] question about the tone mapping in OpenEXR
From: |
Florian Kainz |
Subject: |
Re: [Openexr-devel] question about the tone mapping in OpenEXR |
Date: |
Mon, 16 Oct 2006 20:11:13 -0700 |
User-agent: |
Mozilla Thunderbird 1.0 (X11/20041207) |
Hi Haiqin,
you can find the code for the tone mapping curve in file
exrdisplay/ImageView.cpp, somewhere around lines 239 - 360.
The tone mapping curve is three segments: values from 0 to
kl are unchanged; values between kl and kh are compressed
using a logarithmic curve, and values greater than kl are
clamped to kl. Kl and kh are user-selectable parameters.
Video cameras often have similar tone mapping curves.
I think the curve works because it does not attempt to compress
arbitrarily large contrast ranges into the small range that can
be displyed on a typical computer monitor. The curve merely
tries to soften the hard transition from values that can be
displayed to values that are slightly larger.
I should probably mention that the curve produces images that
look rather flat. Most people prefer images that have higher
contrast and color saturation in the mid tones. One simple
way to achieve that would be by applying a power function to
the pixels after the tone mapping curve, e.g.
screenPixel = pow (toneMap (filePixel), p)
where p is somewhere around 1.5.
Florian
Haiqin Yang wrote:
It seems that the tone mapping in OpenEXR is simple, but effective, but
I do not know why it can achieve it. Does someone can interpret it or
give me some docs? Thank you!
Regards,
Haiqin
------------------------------------------------------------------------
_______________________________________________
Openexr-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-devel