You are here: Start » Function Reference » Image Thresholding » ThresholdToRegion
ThresholdToRegion
Creates a region containing image pixels with values within the specified range.
Syntax
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
Hardware Acceleration
This operation is optimized for SSE2 technology for pixels of types: 1xUINT8, 3xUINT8.
This operation supports automatic parallelization for multicore and multiprocessor systems.