Back to Aurora Vision Library website

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

# ThresholdToRegion

Header: AVL.h avl FoundationBasic

Creates a region containing image pixels with values within the specified range.

Applications: Extraction of a region of objects that can be defined by a salient brightness.

### Syntax

C++
C#

void avl::ThresholdToRegion
(
const avl::Image& inImage,
atl::Optional<const avl::Region&> inRoi,
atl::Optional<float> inMinValue,
atl::Optional<float> inMaxValue,
float inHysteresis,
avl::Region& outRegion
)


### Parameters

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

### Description

The operation is a cousin of ThresholdImage yet computes a region instead of an image. The resulting region contains those pixels of the input image that meet one of the following conditions:

• Pixel value is in range [inMinValue, inMaxValue].
• Pixel value is in range [inMinValue-inHysteresis, inMinValue) or in range (inMaxValue, inMaxValue+inHysteresis] and in the processed image there is a path of consecutive pixels of value in range [inMinValue-inHysteresis, inMaxValue+inHysteresis] that connects the pixel being considered and any pixel with value in range [inMinValue, inMaxValue].

If any of the parameters inMinValue, inMaxValue 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.

### Hints

• Define inMinValue to extract bright objects (brighter than the specified value).
• Define inMaxValue to extract dark objects (darker than the specified value).
• Use inHysteresis to allow weaker threshold for pixels neighboring with already extracted ones.

### Examples

ThresholdToRegion performed on the sample image with inMinValue = 80.0, inMaxValue = auto.

### Hardware Acceleration

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

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

This operation supports automatic parallelization for multicore and multiprocessor systems.

### Errors

List of possible exceptions:

Error type Description
DomainError Region exceeds an input image in ThresholdToRegion.