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

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

PyramidInit

Initializes the pyramid structure and calculates the ROI size for pyramid layers.

Syntax

IppStatus ippiPyramidInit(IppiPyramid** pPyr, int level, IppiSize roiSize, Ipp32f rate, Ipp8u* pPyrBuffer, Ipp8u* pBuffer);

Platform-aware functions

IppStatus ippiPyramidInit_L(IppiPyramidL** pPyr, int level, IppiSizeL roiSize, Ipp32f rate, Ipp8u* pPyrBuffer, Ipp8u* pBuffer);

Include Files

ippcv.h

Flavors with the -L suffix: ippcv_l.h

Domain Dependencies

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

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

Parameters

pPyr
Pointer to the pointer to the pyramid structure.
level
Maximum value for the pyramid level.
roiSize
Size of zero level image ROI, in pixels.
rate
Ratio between neighbouring levels (1 < rate 10).
pPyrBuffer
Pointer to the buffer for the pyramid structure initialization.
pBuffer
Pointer to the work buffer.

Description

This function initializes the structure for pyramid with (level+1) levels. This structure is used by the ippiOpticalFlowPyrLK function for optical flow calculation. The IppiPyramid structure contains the following fields:

pImage

Pointer to the array of (level+1) layer images.

pStep

Pointer to the array of (level+1) image row step values.

pRoi

Pointer to the array of (level+1) layer image ROIs.

pRate

Pointer to the array of (level+1) ratios of i-th levels to the zero level (rate-i).

pState

Pointer to the structure to compute the next pyramid layer.

level

Number of levels in the pyramid.

Analogue for IppiPyramid structure for L-functions is IppiPyramidL structure.

The ippiPyramidInit function fills the pRoi and pRate arrays and the level field. The value of the level field is equal to the minimum of the input value of the level parameter and the maximum possible number of layers of the pyramid with given rate and zero level size.

You need to specify other fields. To initialize the pyramid layer structure pState, use the ippiPyramidLayerDownInit or ippiPyramidLayerUpInit functions. To obtain the pyramid layer images, you can use the ippiPyramidLayerDown and ippiPyramidLayerUp functions.

For an example on how to use this function, refer to the example provided with the ippiPyramidLayerDown function description.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one of the pointers is NULL.

ippStsSizeErr

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

ippStsBadArgErr

Indicates an error when level is equal to or less than 0, or when rate is out of the range.

See Also