HALCON Reference Manual 10.0.2
Table of Contents / Regions / Features ClassesClassesClasses | | | Operators

moments_region_centralmoments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentral (Operator)

Name

moments_region_centralmoments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentral — Geometric moments of regions.

Signature

moments_region_central(Regions : : : I1, I2, I3, I4)

Herror moments_region_central(const Hobject Regions, double* I1, double* I2, double* I3, double* I4)

Herror T_moments_region_central(const Hobject Regions, Htuple* I1, Htuple* I2, Htuple* I3, Htuple* I4)

Herror moments_region_central(Hobject Regions, double* I1, double* I2, double* I3, double* I4)

Herror moments_region_central(Hobject Regions, HTuple* I1, HTuple* I2, HTuple* I3, HTuple* I4)

double HRegion::MomentsRegionCentral(double* I2, double* I3, double* I4) const

HTuple HRegionArray::MomentsRegionCentral(HTuple* I2, HTuple* I3, HTuple* I4) const

void HOperatorSetX.MomentsRegionCentral(
[in] IHUntypedObjectX* Regions, [out] VARIANT* I1, [out] VARIANT* I2, [out] VARIANT* I3, [out] VARIANT* I4)

VARIANT HRegionX.MomentsRegionCentral(
[out] VARIANT* I2, [out] VARIANT* I3, [out] VARIANT* I4)

static void HOperatorSet.MomentsRegionCentral(HObject regions, out HTuple i1, out HTuple i2, out HTuple i3, out HTuple i4)

HTuple HRegion.MomentsRegionCentral(out HTuple i2, out HTuple i3, out HTuple i4)

double HRegion.MomentsRegionCentral(out double i2, out double i3, out double i4)

Description

The operator moments_region_centralmoments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentral calculates the central moments (I1I1I1I1i1, I2I2I2I2i2, I3I3I3I3i3, I4I4I4I4i4).

 Calculation: Then the moments Ii  are defined by:

      I1 = MU20 MU02 - MU11^2
      I2 = (MU30 MU03 - MU21  MU12)^2
           -4(MU30 MU12 - MU21^2)(MU21  MU03 - MU12^2)
      I3 = MU20 (MU21 MU03 - MU12^2) - MU11(MU30 MU03
           - MU21  MU12) + MU02 (MU30 MU12 - MU21^2)
      I4 = MU30^2 MU02^3 - 6 MU30 MU21 MU11 MU02^2 +
           6 MU30 MU12  MU02 (2 MU11^2 - MU20  MU02)
           + MU30 MU03 (6 MU20 MU11 MU02 - 8 MU11^3) +
           9{MU21^2} MU20 MU02^2 - 18 MU21 MU12 MU20 MU11 MU02
           + 6 MU21 MU03 MU20 (2 MU11^2 - MU20 MU02)+
           9 MU12^2 MU20^2 MU02 -
           6 MU12 MU03 MU11 MU20^2 + MU03^2 MU20^3

If more than one region is passed the results are stored in tuples, the index of a value in the tuple corresponding to the index of a region in the input.

In case of empty region all parameters have the value 0.0 if no other behavior was set (see set_systemset_systemset_systemSetSystemSetSystem).

Parallelization

Parameters

RegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionXHobject

Regions to be examined.

I1I1I1I1i1 (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Moment of 2nd order.

I2I2I2I2i2 (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Moment of 2nd order.

I3I3I3I3i3 (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Moment of 2nd order.

I4I4I4I4i4 (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Moment of 3rd order.

Complexity

If Z is the area of the region the mean runtime complexity is O(sqrt(Z)).

Result

The operator moments_region_centralmoments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentral returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input regions available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). The behavior in case of empty region (the region is the empty set) is set via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdthresholdThresholdThreshold, regiongrowingregiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionconnectionConnectionConnection

Alternatives

moments_region_2ndmoments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd

See also

elliptic_axiselliptic_axiselliptic_axisEllipticAxisEllipticAxis

Module

Foundation


Table of Contents / Regions / Features ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH