You are here: Start » AVL.NET » Function Reference » Image » Image Thresholding » AVL.ThresholdImage_RGB
Transforms each pixel value to minimum or maximum depending on whether it belongs to the specified range for each individual pixel component.
Namespace: | AvlNet |
---|---|
Assembly: | AVL.NET.dll |
Syntax
public static void ThresholdImage_RGB ( AvlNet.Image inRgbImage, NullableRef<AvlNet.Region> inRoi, int? inMinRed, int? inMaxRed, int? inMinGreen, int? inMaxGreen, int? inMinBlue, int? inMaxBlue, int? inMinAlpha, int? inMaxAlpha, float inFuzziness, AvlNet.Image outMonoImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inRgbImage | AvlNet.Image | Input image, usually in the RGB color space. | |||
inRoi | AvlNet.NullableRef<AvlNet.Region> | Region of interest. Default value: atl::NIL. | |||
inMinRed | int? | <0, 255> | 128 | Minimum for the first pixel component, usually Red (Auto = -INF). Default value: 128. | |
inMaxRed | int? | <0, 255> | Maximum for the first pixel component, usually Red (Auto = +INF). Default value: atl::NIL. | ||
inMinGreen | int? | <0, 255> | 128 | Minimum for the second pixel component, usually Green (Auto = -INF). Default value: 128. | |
inMaxGreen | int? | <0, 255> | Maximum for the second pixel component, usually Green (Auto = +INF). Default value: atl::NIL. | ||
inMinBlue | int? | <0, 255> | 128 | Minimum for the third pixel component, usually Blue (Auto = -INF). Default value: 128. | |
inMaxBlue | int? | <0, 255> | Maximum for the third pixel component, usually Blue (Auto = +INF). Default value: atl::NIL. | ||
inMinAlpha | int? | <0, 255> | Minimum for the fourth pixel component, usually Blue (Auto = -INF). Default value: atl::NIL. | ||
inMaxAlpha | int? | <0, 255> | Maximum for the fourth pixel component, usually Blue (Auto = +INF). Default value: atl::NIL. | ||
inFuzziness | float | <0.0f, INF> | Tolerance for the ranges that results in intermediate output values. | ||
outMonoImage | AvlNet.Image |
Description
The operation transforms each pixel of three-channel inRgbImage to the maximum or minimum level thus creating binary image. The input image is considered to be encoded using RGB color representation.
- Pixels meeting all of the following conditions are transformed to the maximum level:
- Intensity of the "red" channel is in range (inMinRed, inMaxRed).
- Intensity of the "green" channel is in range (inMinGreen, inMaxGreen).
- Intensity of the "blue" channel is in range (inMinBlue, inMaxBlue).
- Other pixels are transformed to the maximum level.
If any of the parameters inMinRed, inMinGreen, inMinBlue is not set, it is assumed to be -infinity. If any of the parameters inMaxRed, inMaxGreen, inMaxBlue is not set, it is assumed to be infinity.
Parameter inFuzziness (set to 0 by default) allows to perform fuzzy thresholding which linearly interpolates those pixel values that differ by at most inFuzziness from the border channel intensities; thus creating smooth transition between minimum and maximum values in the resulting image.
Examples
Hardware Acceleration
This operation is optimized for SSSE4 (for inFuzziness = 0) technology.
This operation is optimized for AVX2 (for inFuzziness = 0) technology.
This operation is optimized for NEON technology for pixels of types: 1xUINT8 (for inFuzziness = 0), 3xUINT8 (for inFuzziness = 0).
This operation supports automatic parallelization for multicore and multiprocessor systems.
Hardware acceleration settings may be manipulated with Settings class.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Not a 3-channel and 8-bit image in ThresholdImage_RGB. |
DomainError | Region exceeds an input image in ThresholdImage_RGB. |
DomainError | Not supported inRgbImage pixel format in ThresholdImage_RGB. Supported formats: 3xUInt8, 4xUInt8. |