User Tools

Site Tools


isp:gamma

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

isp:gamma [2019/05/08 17:10]
Igor Yefmov created
isp:gamma [2019/05/09 00:12] (current)
Igor Yefmov
Line 1: Line 1:
 ====== Gamma ====== ====== Gamma ======
-More precisely - this is a "gamma encoding" that is originally used to correct for the old-school %%CRT%%-type monitors' ''x<sup>2.2</sup>'' voltage correction.+More precisely - this is a "gamma encoding" that is originally used to correct for the old-school %%CRT%%-type monitors' \(x^{2.2}\) voltage correction.
  
-Gamma encoding is calculated as a power function, where each pixel'''L'' component (in HSL color space) is corrected.+Gamma encoding is calculated as a power function, where each pixel'\(L\) component (in HSL color space) is corrected.
  
-For now we are using a simplified single-curve method which will eventually be replaced with a more sophisticated multi-point curve that would allow a user to specify a curve using up to ''N'' knee points (at which point it will no longer be proper to call this "gamma" but rather something else).+For now we are using a simplified single-curve method which will eventually be replaced with a more sophisticated multi-point curve that would allow a user to specify a curve using up to \(N\) knee points (at which point it will no longer be proper to call this "gamma" but rather something else).
  
-Implementation-wise there's nothing special about this (assuming ''L'' is in range ''[0..1]'' and ''_gamma'' is ''1''):+Implementation-wise there's nothing special about this (assuming \(\in [0..1]\) and \(\_gamma \leq 1\)):
 <code c++>// pseudo-code <code c++>// pseudo-code
 void gamma(/*array of pixels*/image, double _gamma){ void gamma(/*array of pixels*/image, double _gamma){
/home/adminsub2r/public_html/dokuwiki/data/pages/isp/gamma.txt · Last modified: 2019/05/09 00:12 by Igor Yefmov