You are here: Start » AVL.NET » AVL.ImageMoment(AvlNet.Image, AvlNet.Region, AvlNet.ImageMomentType, bool, float, float)

AVL.ImageMoment(AvlNet.Image, AvlNet.Region, AvlNet.ImageMomentType, bool, float, float)

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax


public static void ImageMoment(
	AvlNet.Image inImage,
	AvlNet.Region inRoi,
	AvlNet.ImageMomentType inMomentType,
	bool inCentral,
	out float outMoment,
	out float outNormMoment
)

Parameters

inImage
Type: AvlNet.Image
inRoi
Type: AvlNet.Region
inMomentType
Type: AvlNet.ImageMomentType
inCentral
Type: System.Boolean
outMoment
Type: System.Single
outNormMoment
Type: System.Single

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.

Hardware acceleration settings may be manipulated with Settings class.

Errors

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

See also