Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Thresholding » ThresholdToRegion_Relative

ThresholdToRegion_Relative


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Thresholds an image with a different threshold value for each pixel (inBaseImage(x, y) + inValue).

Syntax

C++
C#
 
void avl::ThresholdToRegion_Relative
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	const avl::Image& inBaseImage,
	atl::Optional<float> inMinRelativeValue,
	atl::Optional<float> inMaxRelativeValue,
	float inHysteresis,
	avl::Region& outRegion
)

Parameters

Name Type Range Default Description
Input value inImage const Image& Input image
Input value inRoi Optional<const Region&> NIL Region of interest
Input value inBaseImage const Image& Pixels of this image are subtracted from inImage before thresholding
Input value inMinRelativeValue Optional<float> 128.0f Minimum relative value of a pixel that is considered foreground (Auto = -INF)
Input value inMaxRelativeValue Optional<float> NIL Maximum relative value of a pixel that is considered foreground (Auto = +INF)
Input value inHysteresis float 0.0 - 0.0f Defines how much the threshold criteria are lowered for pixels neighboring with other foreground pixels
Output value outRegion Region& Output region

Description

The operation is a cousin of ThresholdImage_Relative yet computes a region instead of an image. The resulting region contains only those pixels of the input image, which are brighter at least by inMinRelativeValue and at most by inMaxRelativeValue than the corresponding pixel of inBaseImage. If any of the parameters inMinRelativeValue, inMaxRelativeValue is not set, it is assumed to be, accordingly, -infinity or infinity.

In the multichannel images the operation uses an average of channel values in each pixel.

Examples

A sample image used as inImage.

A sample image used as inBaseImage.

ThresholdToRegion_Relative performed with inMinRelativeValue = 0.0, inMaxRelativeValue = auto.

Hardware Acceleration

This operation is optimized for SSE2 technology for pixels of types: 1xUINT8, 3xUINT8.

This operation is optimized for NEON technology for pixels of types: 1xUINT8, 3xUINT8.

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Image formats are not the same in ThresholdToRegion_Relative.
DomainError Image sizes are not equal in ThresholdToRegion_Relative.
DomainError Region exceeds an input image in ThresholdToRegion_Relative.

See Also

  • ThresholdImage_Relative – Thresholds an image with a different threshold value for each pixel (inBaseImage(x, y) + inValue).