openexr-devel
[Top][All Lists]
Advanced

[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: Wed, 18 Oct 2006 19:19:55 -0700
User-agent: Mozilla Thunderbird 1.0 (X11/20041207)

The dither() function attempts to reduce banding caused by the
limited bit depth of the OpenGL frame buffer.  The function
implements a particularly simple "halftoning" method.  For an
introduction to halftoning, please see

http://www.hpl.hp.com/personal/Robert_Ulichney/papers/2000-halftoning-review.pdf

Section 4, Recursive Tesselation explains Bayer dithering.

Haiqin Yang wrote:
> Dear Florian,
> 
> Thank you very much for your interpretation.  It will help me understand 
> the algorithm quickly.  Currently, I still have some confuse about the 
> function of “dither”.  It is just a dithering table. I read from comment 
> and know that it is a Bayer pattern.  But how to generate these data, 
> what are the rules?  I have no clear thought about it.  Does any article 
> interpret it? And where I can get it?  Thank you!
> 
>  
> 
> Haiqin
> 
> -----邮件原件-----
> 发件人: Florian Kainz [mailto:address@hidden
> 发送时间: 2006年10月17日 11:11
> 收件人: Haiqin Yang
> 抄送: address@hidden
> 主题: Re: [Openexr-devel] question about the tone mapping in OpenEXR
> 
>  
> 
> 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
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]