Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

Moments

Computes all image moments of order 0 to 3 and Hu moment invariants.

Syntax

Case 1: Computation of floating-point results
IppStatus ippiMoments64f_<mod>(const Ipp<datatype>*
pSrc
, int
srcStep
, IppiSize
roiSize
, IppiMomentState_64f*
pCtx
);
Supported values for
mod
:
8u_C1R
16u_C1R
32f_C1R
8u_C3R
16u_C3R
32f_C3R
8u_AC4R
16u_AC4R
32f_AC4R
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.
pCtx
Pointer to the structure that stores image moments.
Description
This function operates with ROI (see Regions of Interest in Intel IPP). This function computes all spatial and central moments of order 0 to 3 for the source image
pSrc
. The seven Hu moment invariants are also computed. Different functions,
ippiMoments64s
and
ippiMoments64f,
are used to compute image moments in integer and floating-point formats, respectively.
The
ippiMoments
function computes spatial moment values relative to the image point referred to by
pSrc
. Note that this point is the ROI origin and may not coincide with the entire image origin. If you need to obtain spatial moment values relative to the actual image origin, use ippiGetSpatialMoment functions to recalculate them.
The moments' values are stored in the
pCtx
structure. To retrieve a particular moment value, use one of the functions described in the sections that follow.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or a warning.
ippStsNullPtrErr
Indicates an error condition if
pSrc
or
pCtx
pointer is
NULL
.
ippStsSizeErr
Indicates an error condition if
roiSize
has a field with zero or negative value.
ippStsStepErr
Indicates an error condition if
srcStep
has a zero or negative value.
ippStsContextMatchErr
Indicates an error condition if a pointer to an invalid structure is passed.

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