Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Features » ImageMoment

ImageMoment


Header: AVL.h
Namespace: avl
Module: FoundationLite

Computes the selected moment of an image in regular and normalized (divided by sum of pixel values) variant.

Syntax

C++
C#
 
void avl::ImageMoment
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	avl::ImageMomentType::Type inMomentType,
	bool inCentral,
	float& outMoment,
	atl::Optional<float&> outNormMoment = atl::NIL
)

Parameters

Name Type Default Description
Input value inImage const Image& Input image
Input value inRoi Optional<const Region&> NIL Range of pixels to be processed
Input value inMomentType ImageMomentType::Type
Input value inCentral bool
Output value outMoment float&
Output value outNormMoment Optional<float&> NIL

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outNormMoment.

Read more about Optional Outputs.

Description

The operation computes the mathematical features of an image called moments. Those are sums computed as follows:

\[ \begin{aligned} Moment_{0,0}(Image,Roi) &= \sum_{p \in Roi} Image(p_x,p_y) \cdot 1 \\ Moment_{0,1}(Image,Roi) &= \sum_{p \in Roi} Image(p_x,p_y) \cdot p_y \\ Moment_{1,0}(Image,Roi) &= \sum_{p \in Roi} Image(p_x,p_y) \cdot p_x \\ Moment_{0,2}(Image,Roi) &= \sum_{p \in Roi} Image(p_x,p_y) \cdot p_y^2 \\ Moment_{1,1}(Image,Roi) &= \sum_{p \in Roi} Image(p_x,p_y) \cdot p_x p_y \\ Moment_{2,0}(Image,Roi) &= \sum_{p \in Roi} Image(p_x,p_y) \cdot p_x^2 \end{aligned} \]

The summing is conducted over all pixels in inRoi region, while \( p_x \) and \( p_y \) denote, accordingly, x and y coordinate of a pixel.

When inCentral parameter is set, the image is shifted before computations, so that its mass center is at location (0,0).

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Black image on input in ImageMoment.
DomainError Empty region on input in ImageMoment.
DomainError Region exceeds an input image in ImageMoment.

See Also

  • RegionMoment – Computes selected second-order moment of a region in regular and normalized ( divided by region area ) variant.
  • PolygonMoment – Computes the selected second-order moment of a polygon in regular and normalized ( divided by polygon area ) variant.