Intel IPP Integration Wrappers Developer Guide and Reference

ID 751823
Date 1/18/2023
Document Table of Contents

Color Conversion

RGB Color Model

In the RGB model, each color appears as a combination of red, green, and blue. This model is called additive, and the colors are called primary colors. The primary colors can be added to produce the secondary colors of light (see Primary and Secondary Colors for RGB and CMYK Models) - magenta (red plus blue), cyan (green plus blue), and yellow (red plus green). The combination of red, green, and blue at full intensities makes white.

Primary and Secondary Colors for RGB and CMYK Models

The color subspace of interest is a cube shown in Figure RGB and CMY Color Models (RGB values are normalized to 0..1), in which RGB values are at three corners; cyan, magenta, and yellow are the three other corners, black is at their origin; and white is at the corner farthest from the origin.

The gray scale extends from black to white along the diagonal joining these two points. The colors are the points on or inside the cube, defined by vectors extending from the origin.

Thus, images in the RGB color model consist of three independent image planes, one for each primary color.

As a rule, the Intel IPP color conversion functions operate with non-linear gamma-corrected images R'G'B'.

The importance of the RGB color model is that it relates very closely to the way that the human eye perceives color. RGB is a basic color model for computer graphics because color displays use red, green, and blue to create the desired color. Therefore, the choice of the RGB color space simplifies the architecture and design of the system. Besides, a system that is designed using the RGB color space can take advantage of a large number of existing software routines, because this color space has been around for a number of years.

RGB and CMY Color Models

However, RGB is not very efficient when dealing with real-world images. To generate any color within the RGB color cube, all three RGB components need to be of equal pixel depth and display resolution. Also, any modification of the image requires modification of all three planes.

RGB to Grayscale Conversion

Conversion from RGB image to gray scale (see figure Converting an RGB Image to Gray Scale) uses the following basic equation to compute luma from nonlinear gamma-corrected red, green, and blue values: Y' = 0.299 * R' + 0.587 * G' + 0.114 * B'. Note that the transform coefficients conform to the standard for the NTSC red, green, and blue CRT phosphors.

Converting an RGB Image to Gray Scale