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]
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'​s ​''​L'' ​component (in HSL color space) is corrected.+Gamma encoding is calculated as a power function, where each pixel'​s ​\(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