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

ThresholdToRegion
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | 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
void fil::ThresholdToRegion ( const fil::Image& inImage, ftl::Optional<const fil::Region&> inRoi, ftl::Optional<float> inMinValue, ftl::Optional<float> inMaxValue, float inHysteresis, fil::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. |
See Also
- ThresholdImage – Transforms each pixel value to maximum or minimum depending on whether they belong to the specified range.