Improving the Image
These are processing blocks which improve the human perception of the image.
White balance ensures that a white wall will look white. The frequency response of pixels in a camera, or on a display do not match the frequency response of the human eye, White balance rotates the RGB vector using a matrix multiply, so that the colors are more accurate. Some colors are more important than others. While an inaccurate shade of green on a tree may be acceptable, an incorrect skin tone is immediately noticeable and undesirable, making accurate white balance critical for applications involving people.
Color Correction compensates for the fact that the red, green and blue pixels all respond a little to all of 3 colors. This step in the image pipeline multiplies the debayered pixels by a 3x3 matrix to extract the true colors.
Gamma Correction compensates for human’s logarithmic perception. We can only detect a 10% change in light amplitude. If the brightness is on a scale of 0-127, we can just barely distinguish between 127 and (127 -12.7= 114). All those numbers between 114 and 127 are wasted. Cameras and display devices may also display similar non-linearities. Gamma correction attempts to compensate for all of this. The correction is typically done with a power-law function (e.g., V_out = V_in^γ). In the process it also compresses the data. One could achieve even greater data compressions using lookup tables. The Himax documentation details how they implemented this using a piecewise linear function.
Denoise reduces the noise by averaging pixels. Denoise can happen in the RGP color space or on Himax cameras, in the YCrCb color space. It is also possible to do denoise across multiple frames.
Built with the Forest WIki.
User contributed content is licensed under a
Creative Commons CC By 4.0 License.