Back to Aurora Vision Library Lite website

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

ImageMoment


Header: AVL.h
Namespace: avl

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

Syntax

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.