You are here: Start » AVL.NET » Function Reference » Image » Image Combinators » AVL.DifferenceImage_Flex

AVL.DifferenceImage_Flex

Computes the non-negative distances between corresponding pixel values using tiles.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void DifferenceImage_Flex
(
	AvlNet.Image inImage1,
	AvlNet.Image inImage2,
	AvlNet.Box? inBox1,
	AvlNet.Box? inBox2,
	int inTileWidth,
	int? inTileHeight,
	AvlNet.TileTranslationMode inTileTranslationMode,
	bool inOutputFromColorImage,
	AvlNet.Image outImage
)

Parameters

Name Type Range Default Description
inImage1AvlNet.ImageFirst input image.
inImage2AvlNet.ImageSecond input image.
inBox1AvlNet.Box?
inBox2AvlNet.Box?
inTileWidthint<1, INF>16Default value: 16.
inTileHeightint?<1, INF>
inTileTranslationModeAvlNet.TileTranslationModeFourDirectionsDefault value: FourDirections.
inOutputFromColorImageboolFalseFlag indicating whether to use every channel of the input images separately to compute results or only channels average. Default value: False.
outImageAvlNet.ImageOutput image.

Description

The operation computes the absolute difference between images. First the input images are divided into tiles. Each tile is then considered separately. It is translated by a minimal vector in one of the number of directions (depending on inTileTranslationMode, 4 or 8) and the translation with minimum overall difference between input images in this tile is considered to be the proper one. Finally, the output image values in the tile are computed using the so computed translation and the same formula like in DifferenceImage_Shifted.

In multichannel (color) images each pixel channel is processed separately.

The operation requires that the images being processed have equal format and dimensions, otherwise an error with appropriate description occurs. To obtain an image of desired dimensions one can use ResizeImage or CropImage filter. To alter the pixel type of an image one can use ConvertPixelType filter. ConvertToMultichannel and AverageChannels filters allow to alter the number of image channels.

Examples

DifferenceImage_Flex performed on the sample images with inTileWidth = inTileHeight = 16 and inTileTranslationMode = EightDirections.

Errors

List of possible exceptions:

Error type Description
DomainError Image formats are not the same in DifferenceImage_Flex.
DomainError Image fragments dimensions are not equal in DifferenceImage_Flex.
DomainError Input box exceeds image dimensions in DifferenceImage_Flex.

Function Overrides

See also