Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

ColorToGray

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

Syntax

IppStatus ippiColorToGray_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, const Ipp32f coeffs[3]);

Supported values for mod:

8u_C3C1R 16u_C3C1R 16s_C3C1R 32f_C3C1R
8u_AC4C1R 16u_AC4C1R 16s_AC4C1R 32f_AC4C1R

IppStatus ippiColorToGray_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, const Ipp64f coeffs[3]);

Supported values for mod:

64f_C3C1R
64f_AC4C1R

Include Files

ippcc.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h, ippi.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib

Parameters

pSrc

Pointer to the source image ROI.

srcStep

Distance in bytes between starts of consecutive lines in the source image.

pDst

Pointer to the destination image ROI.

dstStep

Distance in bytes between starts of consecutive lines in the destination image.

roiSize

Size of the source and destination ROI in pixels.

coeffs

Transform coefficients.

Description

This function operates with ROI (see Regions of Interest in Intel IPP ).

This function uses the following equation to convert an RGB image to gray scale:

Y = coeffs[0] * R + coeffs[1] * G + coeffs[2] * B,

where the coeffs array contains user-defined transform coefficients which must be non-negative and satisfy the condition

coeffs[0] + coeffs[1] + coeffs[2] ≤ 1.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error.

ippStsNullPtrErr

Indicates an error condition if pSrc or pDst is NULL.

ippStsSizeErr

Indicates an error condition if roiSize has a field with a zero or negative value.