Back to Adaptive Vision Library website
You are here: Start » Function Reference » Image Features » ImageMoment
ImageMoment
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, atl::real& outMoment, atl::Optional<atl::real&> outNormMoment = atl::NIL )
Parameters
| Name | Type | Default | Description | |
|---|---|---|---|---|
![]() |
inImage | const Image& | Input image | |
![]() |
inRoi | Optional<const Region&> | NIL | Range of pixels to be processed |
![]() |
inMomentType | ImageMomentType::Type | ||
![]() |
inCentral | bool | ||
![]() |
outMoment | real& | ||
![]() |
outNormMoment | Optional<real&> | NIL |
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).
Errors
| Error type | Description |
|---|---|
| DomainError | Empty region on input in ImageMoment. |
| DomainError | Black image on input in ImageMoment. |


