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

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

MaxIndx

Computes the maximum of image pixel values and retrieves the x and y coordinates of pixels with maximal intensity values.

Syntax

Case 1: Operation on one-channel data

IppStatus ippiMaxIndx_<mod>(const Ipp<datatype>* pSrc, int srcStep, IppiSize roiSize, Ipp<datatype>* pMax, int* pIndexX, int* pIndexY);

Supported values for mod:

8u_C1R

16u_C1R

16s_C1R

32f_C1R

Case 2: Operation on multi-channel data

IppStatus ippiMaxIndx_<mod>(const Ipp<datatype>* pSrc, int srcStep, IppiSize roiSize, Ipp<datatype> max[3], int indexX[3], int indexY[3]);

Supported values for mod:

8u_C3R

16u_C3R

16s_C3R

32f_C3R

8u_AC4R

16u_AC4R

16s_AC4R

32f_AC4R

IppStatus ippiMaxIndx_<mod>(const Ipp<datatype>* pSrc, int srcStep, IppiSize roiSize, Ipp<datatype> max[4], int indexX[4], int indexY[4]);

Supported values for mod:

8u_C4R

16s_C4R

16u_C4R

32f_C4R

Include Files

ippi.h

Domain Dependencies

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

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

Parameters

pSrc

Pointer to the source image ROI.

srcStep

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

roiSize

Size of the source ROI in pixels.

pMax

Pointer to the maximum pixel value (for one-channel data).

max

Array containing maximum channel values of pixels in the source buffer (for multi-channel data).

pIndexX, pIndexY

Pointers to the x and y coordinates of the pixel with maximum value.

indexX, indexY

Arrays containing the x and y coordinates of pixels with maximum channel values.

Description

This function operates with ROI (see Regions of Interest in Intel IPP). This function computes the maximum pixel value pMax for the source image pSrc. In case of a multi-channel image, the maximum is computed over each channel and stored in the array max. The function also retrieves the x and y coordinates of pixels on which the maximum is reached. If several pixels have equal maximum values, the coordinates of the first pixel from the start of the source buffer is returned. For multi-channel data, indexX[k]and indexY[k]are the x and y coordinates of the pixel that has the maximal intensity value of the k-th channel, k = 1,2,3,4.

Return Values

ippStsNoErr

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

ippStsNullPtrErr

Indicates an error condition if any of pSrc,pMax, pIndexX, or pIndexY pointers is NULL.

ippStsSizeErr

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

Example

The code example below demonstrates how to use the function ippiMaxIndx.

Ipp8u src[4*1] = { 40, 20, 60, 80 };
IppiSize roiSize = { 4, 1 };
Ipp8u max;
int IndexX;
int IndexY;
ippiMaxIndx_8u_C1R ( src, 4, roiSize, &max, &IndexX, &IndexY );

Output:

max = 80  IndexX = 3 IndexY = 0