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

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

Sum

Computes the sum of image pixel values.

Syntax

Case 1: Operation on one-channel integer data

IppStatus ippiSum_<mod>(const Ipp<datatype>* pSrc, int srcStep, IppiSize roiSize, Ipp64f* pSum);

Supported values for mod:

8u_C1R

16u_C1R

16s_C1R

Case 2: Operation on one-channel floating-point data

IppStatus ippiSum_32f_C1R(const Ipp32f* pSrc, int srcStep, IppiSize roiSize, Ipp64f* pSum, IppHintAlgorithm hint);

Case 3: Operation on multi-channel integer data

IppStatus ippiSum_<mod>(const Ipp<datatype>* pSrc, int srcStep, IppiSize roiSize, Ipp64f sum[3]);

Supported values for mod:

8u_C3R

16u_C3R

16s_C3R

IppStatus ippiSum_<mod>(const Ipp<datatype>* pSrc, int srcStep, IppiSize roiSize, Ipp64f sum[4]);

Supported values for mod:

8u_C4R

16u_C4R

16s_C4R

Case 4: Operation on multi-channel floating-point data

IppStatus ippiSum_32f_C3R(const Ipp32f* pSrc, int srcStep, IppiSize roiSize, Ipp64f sum[3], IppHintAlgorithm hint);

IppStatus ippiSum_32f_C4R(const Ipp32f* pSrc, int srcStep, IppiSize roiSize, Ipp64f sum[4], IppHintAlgorithm hint);

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.

pSum

Pointer to the computed sum of pixel values.

sum

Array containing computed sums of channel values of pixels in the source buffer.

hint

Option to select the algorithmic implementation of the function.

Description

This function operates with ROI (see Regions of Interest in Intel IPP). This function computes the sum of pixel values pSum for the source image pSrc using algorithm indicated by the hint argument (see Table “Hint Arguments for Image Moment Functions”). In case of a multi-channel image, the sum is computed over each channel and stored in the array sum.

Return Values

ippStsNoErr

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

ippStsNullPtrErr

Indicates an error condition if the pSrc or pSum pointer is NULL.

ippStsSizeErr

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

Example

The code example below demonstrates the use of ippiSum function:

 
   
IppStatus sum( void ) {
   Ipp64f sum;
   Ipp8u x[5*4];
   IppiSize roi = {5,4};
   ippiSet_8u_C1R( 1, x, 5, roi );
   return ippiSum_8u_C1R( x, 5, roi, &sum);
}