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

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

ImageRamp

Creates a test image that has an intensity ramp.

Syntax

IppStatus ippiImageRamp_<mod>(Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, float offset, float slope, IppiAxis axis);

Supported values for mod:

8u_C1R 16u_C1R 16s_C1R 32f_C1R
8u_C3R 16u_C3R 16s_C3R 32f_C3R
8u_C4R 16u_C4R 16s_C4R 32f_C4R
8u_AC4R 16u_AC4R 16s_AC4R 32f_AC4R

Include Files

ippi.h

Domain Dependencies

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

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

Parameters

pDst

Pointer to the destination image ROI.

dstStep

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

roiSize

Size of the destination image ROI in pixels.

offset

Offset value.

slope

Slope coefficient.

axis

Specifies the direction of the image intensity ramp; can be one of the following:

ippAxsHorizontal

for the ramp in X-direction,

ippAxsVertical

for the ramp in Y-direction,

ippAxsBoth

for the ramp in both X and Y-directions.

Description

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

The function creates a one- or three-channel image that can be used as a test image to examine the effect of applying different image processing functions.

The destination image pixel values are computed according to one of the following formulas:

dst(x,y) = offset + slope * x, if axis = ippAxsHorizontal,

dst(x,y) = offset + slope * y, if axis = ippAxsVertical,

dst(x,y) = offset + slope * x * y, if axis = ippAxsBoth,

where x, y are pixel coordinates varying in the range

0 x roiSize.width-1, 0 y roiSize.height-1;

Note that linear transform coefficients offset and slope have floating-point values for all function flavors. The computed pixel values that exceed the image data range are saturated to the respective data-range limits.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error or a warning.

ippStsNullPtrErr

Indicates an error condition if the pDst pointer is NULL.

ippStsSizeErr

Indicates an error condition if roiSize has a field with a zero or negative value, or if dstStep is less than or equal to zero.

Example

The code example below illustrates how to use the ippiImageRamp function.

IppStatus ramp( void ){
   Ipp8u dst[8*4];
   IppiSize roiSize = { 8, 4 };
   return ippiImageRamp_8u_C1R( dst, 8, roiSize, 0.0f, 256.0f/7,  ippAxsHorizontal);
}
The destination image contains the following data:
 00 25 49 6E 92 B7 DB FF
 00 25 49 6E 92 B7 DB FF
 00 25 49 6E 92 B7 DB FF
 00 25 49 6E 92 B7 DB FF