Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
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);
}

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804