User Tools

This is an old revision of the document!


Brightness

In the simplest terms the “brightness” of a pixel is its luminosity value as perceived by a human eye (making infrared and gamma rays \(0\) “bright”). There are quite a few competing standards and definitions of what the means exactly, but for our purposes we will use the \(L\) component of the HSL color space as our “brightness” value of a pixel.

Again, in the simplest terms, increasing or reducing pixel's brightness can be interpreted as adding or subtracting a fixed “gain” value (others may argue that a more natural approach would be to use a multiplier, while others still may bring the “vibrancy” approach into picture).

With that the implementation of the Brightness adjustment can be as simple as the following (where the “luma”, or brightness component \(\in[0..100]%%\)):

// pseudo-code
void brightness(/*array of pixels*/image, int _br){
  for(const & pixel: image){
    pixel.luma = std::clamp(pixel.luma + _br, 0, 100);
  }
}

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information