Image Color Conversion

Intel® IPP implements image processing functions that perform different types of image color conversion. The Intel IPP software supports the following image color conversions:

All Intel IPP color conversion functions perform point operations on pixels of the source image. For a given destination pixel, the resultant channel values are computed using channel values of the corresponding source pixel only, and not involving any neighborhood pixels. Thus, the rectangular region of interest (ROI, see Regions of Interest in Intel IPP) used in function operations may extend to the size of the whole image.

Table Color Conversion Functions lists the Intel IPP color space conversion functions.

Color Conversion Functions
Function Base Name Description

Color Model Conversion

RGBToYUV, YUVToRGB

Convert RGB image to and from YUV color model.

RGBToYUV422, YUV422ToRGB

Convert RGB image to and from 4:2:2 YUV image.

RGB565ToYUV422

Converts a 16-bit RGB image to the 4:2:2 YUV image

RGBToYUV420, YUV420ToRGB

Convert RGB images to and from 4:0:0 YUV image.

BGRToYUV420

Converts a BGR image to the 4:2:0 YUV image.

YUV420ToBGR

Converts a 4:2:0 YUV image to BGR image.

RGB565ToYUV420

Converts a 16-bit RGB image to the 4:2:0 YUV image

YUV420ToRGB565, YUV420ToRGB555, YUV420ToRGB444

Convert a 4:2:0 YUV image to the 16-bit RGB image.

YUV420ToRGB565Dither, YUV420ToRGB555Dither, YUV420ToRGB444Dither

Convert a 4:2:0 YUV image to the 16-bit RGB image with dithering.

BGR565ToYUV420, BGR555ToYUV420

Convert a 16-bit BGR image to the 4:2:0 YUV image.

YUV420ToBGR565, YUV420ToBGR555, YUV420ToBGR444

Convert a 4:2:0 YUV image to the 16-bit BGR image.

YUV420ToBGR565Dither, YUV420ToBGR555Dither, YUV420ToBGR444Dither

Convert a 4:2:0 YUV image to the 16-bit BGR image with dithering.

RGBToYCbCr

Converts RGB images to the YCbCr color model.

YCbCrToRGB

Converts RGB images from the YCbCr color model.

YCbCrToBGR

Converts a YCbCr image to the BGR color model.

YCbCrToBGR_709CSC

Converts a YCbCr image to the BGR image for ITU-R BT.709 signal.

YCbCrToRGB565, YCbCrToRGB555, YCbCrToRGB444

Convert a YCbCr image to the 16-bit per pixel RGB image.

YCbCrToRGB565Dither, YCbCrToRGB555Dither, YCbCrToRGB444Dither

Convert a YCbCr image to the 16-bit per pixel RGB image with dithering.

YCbCrToBGR565, YCbCrToBGR555, YCbCrToBGR444

Convert a YCbCr image to the 16-bit per pixel BGR image.

YCbCrToBGR565Dither, YCbCrToBGR555Dither, YCbCrToBGR444Dither

Convert a YCbCr image to the 16-bit per pixel BGR image with dithering.

RGBToYCbCr422

Converts an RGB image to a 4:2:2 YCbCr image.

YCbCr422ToRGB

Converts an RGB image to from a 4:2:2 YCbCr image.

RGBToYCrCb422

Converts an RGB image to a 4:2:2 YCrCb image.

YCrCb422ToRGB

Converts an RGB image from a 4:2:2 YCrCb image.

BGRToYCbCr422

Converts a 24-bit per pixel BGR image to a 16-bit per pixel YCbCr image.

YCbCr422ToBGR

Converts a 16-bit per pixel YCbCr image to a 24-bit per pixel BGR image.

BGR565ToYCbCr422, BGR555ToYCbCr422

Convert a 16-bit per pixel BGR image to a 16-bit per pixel YCbCr image.

RGBToCbYCr422, RGBToCbYCr422Gamma

Convert RGB images to and from a 4:2:2 CbYCr image.

CbYCr422ToRGB

Converts 16-bit per pixel CbYCr image to 24-bit per pixel RGB image.

BGRToCbYCr422

Converts a 32-bit per pixel BGR image to a 16-bit per pixel CbYCr image.

BGRToCbYCr422_709HDTV

Converts a BGR image to a 16-bit per pixel CbYCr image for an ITU-R BT.709 HDTV signal.

CbYCr422ToBGR

Converts a 16-bit per pixel CbYCr image to a four channel BGR image.

CbYCr422ToBGR_709HDTV

Converts a 16-bit per pixel CbYCr image to a BGR image for an ITU-R BT.709 HDTV signal.

YCbCr422ToRGB565, YCbCr422ToRGB555, YCbCr422ToRGB444

Convert a 16-bit per pixel YCbCr image that has 4:2:2 sampling format to a 16-bit per pixel RGB image.

YCbCr422ToRGB565Dither, YCbCr422ToRGB555Dither, YCbCr422ToRGB444Dither

Convert a 16-bit per pixel YCbCr image that has 4:2:2 sampling format to a 16-bit per pixel RGB image with dithering.

YCbCr422ToBGR565, YCbCr422ToBGR555, YCbCr422ToBGR444

Convert a 16-bit per pixel YCbCr image that has 4:2:2 sampling format to a 16-bit per pixel BGR image.

YCbCr422ToBGR565Dither, YCbCr422ToBGR555Dither, YCbCr422ToBGR444Dither

Convert a 16-bit per pixel YCbCr image that has 4:2:2 sampling format to a 16-bit per pixel BGR image with dithering.

RGBToYCbCr420

Converts RGB images to a YCbCr color model with 4:2:0 sampling format.

YCbCr420ToRGB

Converts RGB images from a YCbCr color model with 4:2:0 sampling format.

YCbCr420ToRGB565, YCbCr420ToRGB555, YCbCr420ToRGB444

Convert a YCbCr image that has 4:2:0 sampling format to a 16-bit per pixel RGB image.

YCbCr420ToRGB565Dither, YCbCr420ToRGB555Dither, YCbCr420ToRGB444Dither

Convert a YCbCr image that has 4:2:0 sampling format to a 16-bit per pixel RGB image with dithering.

RGBToYCrCb420

Converts an RGB image to a YCrCb image with the 4:2:0 sampling.

YCrCb420ToRGB

Converts a YCrCb image with the 4:2:0 sampling to an RGB image.

BGRToYCbCr420

Converts a BGR image to a YCbCr image with 4:2:0 sampling format.

BGRToYCbCr420_709CSC

Converts a BGR image to a YCbCr image with 4:2:0 sampling for an ITU-R BT.709 CSC signal.

BGRToYCbCr420_709HDTV

Converts a BGR image to a YCbCr image with 4:2:0 sampling for an ITU-R BT.709 HDTV signal.

BGRToYCrCb420_709CSC

Converts a BGR image to a YCrCb image with 4:2:0 sampling for an ITU-R BT.709 signal.

YCbCr420ToBGR

Converts a YCbCr image with 4:2:0 sampling format to the RGB color model.

YCbCr420ToBGR_709CSC

Converts a YCbCr image with 4:2:0 sampling to a BGR image for an ITU-R BT.709 CSC signal.

YCbCr420ToBGR_709HDTV

Converts a YCbCr image with 4:2:0 sampling to a BGR image for an ITU-R BT.709 HDTV signal.

BGR565ToYCbCr420, BGR555ToYCbCr420

Convert a 16-bit per pixel BGR image to a YCbCr image that has 4:2:0 sampling format.

YCbCr420ToBGR565, YCbCr420ToBGR555, YCbCr420ToBGR444

Convert a YCbCr image with 4:2:0 sampling format to a 16-bit per pixel BGR image.

YCbCr420ToBGR565Dither, YCbCr420ToBGR555Dither, YCbCr420ToBGR444Dither

Convert a YCbCr image with 4:2:0 sampling format to a 16-bit per pixel BGR image with dithering.

BGRToYCrCb420

Converts a BGR image to a YCrCb image with 4:2:0 sampling format.

BGR565ToYCrCb420, BGR555ToYCrCb420

Convert a 16-bit per pixel BGR image to a YCrCb image with the 4:2:0 sampling format.

BGRToYCbCr411

Converts a BGR image to a YCbCr planar image that has the 4:1:1 sampling format.

YCbCr411ToBGR

Converts a YCbCr image with the 4:1:1 sampling format to the RGB color model.

BGR565ToYCbCr411, BGR555ToYCbCr411

Convert a 16-bit per pixel BGR image to a YCbCr image that has the 4:1:1 sampling format.

YCbCr411ToBGR565, YCbCr411ToBGR555

Convert a YCbCr image that has the 4:1:1 sampling format to a 16-bit per pixel BGR image.

RGBToXYZ, XYZToRGB

Convert RGB images to and from the XYZ color model

RGBToLUV, LUVToRGB

Convert RGB images to and from the CIE LUV color model.

BGRToLab, LabToBGR

Convert BGR images to and from the CIE Lab color model.

RGBToYCC, YCCToRGB

Convert RGB images to and from the YCC color model.

RGBToHLS, HLSToRGB

Convert RGB images to and from the HLS color model.

BGRToHLS

Converts BGR images to the HLS color model.

HLSToBGR

Converts HLS images to the BGR color model.

RGBToHSV, HSVToRGB

Convert RGB images to and from the HSV color model.

RGBToYCoCg, YCoCgToRGB

Convert RGB images to and from the YCoCg color model.

BGRToYCoCg

Converts a 24-bit BGR image to the YCoCg color model.

SBGRToYCoCg

Converts a 48-bit BGR image to the YCoCg color model.

YCoCgToBGR

Converts a YCoCg image to the 24-bit BGR image.

YCoCgToSBGR

Converts a YCoCg image to the 48-bit BGR image.

BGRToYCoCg_Rev

Converts a 24-bit BGR image to the YCoCg-R color model.

SBGRToYCoCg_Rev

Converts a 48-bit BGR image to the YCoCg-R color model.

YCoCgToBGR_Rev

Converts a YCoCg-R image to the 24-bit BGR image.

YCoCgToSBGR_Rev

Converts a YCoCg-R image to the 48-bit BGR image.

Color - Gray Scale Conversion

RGBToGray

Converts an RGB image to gray scale using fixed transform coefficients.

ColorToGray

Converts an RGB image to gray scale using custom transform coefficients.

CFAToRGB

Restores an RGB image from a gray-scale CFA image

DemosaicAHD

Restores an RGB image from a gray-scale CFA image using the AHD algorithm.

Format Conversion

RGBToRGB565, BGRToBGR565

Convert a 24-bit per pixel image to a 16-bit image.

RGB565ToRGB, BGR565ToBGR

Convert a 16-bit per pixel image to a 24-bit image.

YCbCr422

Converts a 4:2:2 YCbCr image.

YCbCr422ToYCrCb422

Converts a 4:2:2 YCbCr image to a 4:2:2 YCrCb image.

YCbCr422ToCbYCr422

Converts a 4:2:2 YCbCr image to a 4:2:2 CbYCr image.

YCbCr422ToYCbCr420

Converts a 4:2:2 YCbCr image to a 4:2:0 YCbCr image.

YCbCr422To420_Interlace

Converts an interlaced YCbCr image from the 4:2:2 sampling format to the 4:2:0 format.

YCbCr422ToYCrCb420

Converts a 4:2:2 YCbCr image to a 4:2:0 YCrCb image.

YCbCr422ToYCbCr411

Converts a 4:2:2 YCbCr image to a 4:1:1 YCbCr image.

YCrCb422ToYCbCr422

Converts a 4:2:2 YCrCb image to a 4:2:2 YCbCr image.

YCrCb422ToYCbCr420

Converts a 4:2:2 YCrCb image to a 4:2:0 YCbCr image.

YCrCb422ToYCbCr411

Converts a 4:2:2 YCrCb image to a 4:1:1 YCbCr image.

CbYCr422ToYCbCr422

Converts a 4:2:2 CbYCr image to a 4:2:2 YCbCr image.

CbYCr422ToYCbCr420

Converts a 4:2:2 CbYCr image to a 4:2:0 YCbCr image.

CbYCr422ToYCbCr420_Interlace

Converts an interlaced 4:2:2 CbYCr image to a 4:2:0 YCbCr image.

CbYCr422ToYCrCb420

Converts a 4:2:2 CbYCr image to a 4:2:0 YCrCb image.

CbYCr422ToYCbCr411

Converts a 4:2:2 CbYCr image to a 4:1:1 YCbCr image.

YCbCr420

Converts a 4:2:0 YCbCr image.

YCbCr420ToYCbCr422

Converts a 4:2:0 YCbCr image to a 4:2:2 YCbCr image.

YCbCr420ToYCbCr422_Filter

Converts a 4:2:0 YCbCr image to a 4:2:2 YCbCr image with additional filtering.

YCbCr420To422_Interlace

Converts an interlaced 4:2:0 YCbCr image to a 4:2:2 YCbCr image.

YCbCr420ToCbYCr422

Converts a 4:2:0 YCbCr image to a 4:2:2 CbYCr image.

YCbCr420ToCbYCr422_Interlace

Converts an interlaced 4:2:0 YCbCr image to a 4:2:2 CbYCr image.

YCbCr420ToYCrCb420

Converts a 4:2:0 YCbCr image to a 4:2:0 YCrCb image.

YCbCr420ToYCrCb420_Filter

Converts a 4:2:0 YCbCr image to a 4:2:0 YCrCb image with deinterlace filtering.

YCbCr420ToYCbCr411

Converts a 4:2:0 YCbCr image to a 4:1:1 YCbCr image.

YCrCb420ToYCbCr422

Converts a 4:2:0 YCrCb image to a 4:2:2 YCbCr image.

YCrCb420ToYCbCr422_Filter

Converts a 4:2:0 YCrCb image to a 4:2:2 YCbCr image with additional filtering.

YCrCb420ToCbYCr422

Converts a 4:2:0 YCrCb image to a 4:2:2 CbYCr image.

YCrCb420ToYCbCr420

Converts a 4:2:0 YCrCb image to a 4:2:0 YCbCr image.

YCrCb420ToYCbCr411

Converts a 4:2:0 YCrCb image to a 4:1:1 YCbCr image.

YCbCr411

Converts a 4:1:1 YCbCr image.

YCbCr411ToYCbCr422

Converts a 4:1:1 YCbCr image to a 4:2:2 YCbCr image.

YCbCr411ToYCrCb422

Converts a 4:1:1 YCbCr image to a 4:2:2 YCrCb image.

YCbCr411ToYCbCr420

Converts a 4:1:1 YCbCr image to a 4:2:0 YCbCr image.

YCbCr411ToYCrCb420

Converts a 4:1:1 YCbCr image to a 4:2:0 YCrCb image.

Color Twist

ColorTwist

Applies a color-twist matrix to an image with integer pixel values.

ColorTwist32f

Applies a color-twist matrix to an image with floating-point pixel values.

Color Keying

CompColorKey

Performs color keying of two images.

AlphaCompColorKey

Performs color keying and alpha composition of two images.

Gamma Correction

GammaFwd

Performs gamma-correction of the source RGB image.

GammaInv

Converts a gamma-corrected R'G'B' image back to the original RGB image.

Intensity Transformation

ReduceBits

Reduces the bit resolution of an image.

LUT

Maps an image by applying intensity transformation.

LUT_Linear

Maps an image by applying intensity transformation with linear interpolation.

LUT_Cubic

Maps an image by applying intensity transformation with cubic interpolation.

LUTPalette, LUTPaletteSwap

Map an image by applying intensity transformation in accordance with a palette table.

ToneMapLinear, ToneMapMean

Map an HDRI image to an LDRI image.

See the topics listed below for introductory material that discusses color space models essential for understanding of the Intel IPP color conversion functions.

For more information about color spaces and color conversion techniques, see [Jack01], [Rogers85], and [Foley90].


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.