API Quick Reference Guide

  • 2020
  • 09/30/2019
  • Public Content
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 Figure "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

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804