Functions

AFAPI void moments (double *out, const array &in, const momentType moment=AF_MOMENT_FIRST_ORDER)
 C++ Interface for calculating an image moment. More...
 
AFAPI array moments (const array &in, const momentType moment=AF_MOMENT_FIRST_ORDER)
 C++ Interface for calculating image moments. More...
 
AFAPI af_err af_moments (af_array *out, const af_array in, const af_moment_type moment)
 C Interface for finding image moments. More...
 
AFAPI af_err af_moments_all (double *out, const af_array in, const af_moment_type moment)
 C Interface for calculating image moment(s) of a single image. More...
 

Detailed Description

The moments() function allows for finding different properties of image regions. Currently, ArrayFire calculates all first order moments. The moments are defined within the af_moment_type enum.

As the enum details, each moment can be returned individually or all first-order moments can be calculated at once. This can be done as follows:

Here is an example of how the shorthand versions might be used to find the area(or gray level sum) and center of mass of an image:

double m00, m01, m10;
af::moments(&m00, input_image, AF_MOMENT_M00);
af::moments(&m01, input_image, AF_MOMENT_M01);
af::moments(&m10, input_image, AF_MOMENT_M10);
double area = m00;
double x_center = m10 / m00;
double y_center = m01 / m00;

Function Documentation

◆ af_moments()

AFAPI af_err af_moments ( af_array out,
const af_array  in,
const af_moment_type  moment 
)

C Interface for finding image moments.

Parameters
[out]outis an array containing the calculated moments
[in]inis an array of image(s)
[in]momentis moment(s) to calculate
Returns
ref AF_SUCCESS if the moment calculation is successful, otherwise an appropriate error code is returned.

◆ af_moments_all()

AFAPI af_err af_moments_all ( double *  out,
const af_array  in,
const af_moment_type  moment 
)

C Interface for calculating image moment(s) of a single image.

Parameters
[out]outis a pointer to a pre-allocated array where the calculated moment(s) will be placed. User is responsible for ensuring enough space to hold all requested moments
[in]inis the input image
[in]momentis moment(s) to calculate
Returns
ref AF_SUCCESS if the moment calculation is successful, otherwise an appropriate error code is returned.

◆ moments() [1/2]

AFAPI array af::moments ( const array in,
const momentType  moment = AF_MOMENT_FIRST_ORDER 
)

C++ Interface for calculating image moments.

Parameters
[in]incontains the input image(s)
[in]momentis moment(s) to calculate
Returns
array containing the requested moment of each image

◆ moments() [2/2]

AFAPI void af::moments ( double *  out,
const array in,
const momentType  moment = AF_MOMENT_FIRST_ORDER 
)

C++ Interface for calculating an image moment.

Parameters
[out]outis a pointer to a pre-allocated array where the calculated moment(s) will be placed. User is responsible for ensuring enough space to hold all requested moments
[in]inis the input image
[in]momentis moment(s) to calculate
af::array
A multi dimensional data container.
Definition: array.h:35
af::moments
AFAPI void moments(double *out, const array &in, const momentType moment=AF_MOMENT_FIRST_ORDER)
C++ Interface for calculating an image moment.
AF_MOMENT_M10
@ AF_MOMENT_M10
Definition: defines.h:398
AF_MOMENT_M01
@ AF_MOMENT_M01
Definition: defines.h:397
AF_MOMENT_FIRST_ORDER
@ AF_MOMENT_FIRST_ORDER
Definition: defines.h:400
AF_MOMENT_M00
@ AF_MOMENT_M00
Definition: defines.h:396