You are here: Start » FIL.NET » Function Reference » Image » Image Thresholding » FIL.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: | FilNet |
---|---|
Assembly: | FIL.NET.dll |
Syntax
public static void ThresholdImage_RGB ( FilNet.Image inRgbImage, int? inMinRed, int? inMaxRed, int? inMinGreen, int? inMaxGreen, int? inMinBlue, int? inMaxBlue, int? inMinAlpha, int? inMaxAlpha, float inFuzziness, FilNet.Image outMonoImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() | inRgbImage | FilNet.Image | Input image, usually in the RGB color space. | ||
![]() | 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: ftl::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: ftl::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: ftl::NIL. | |
![]() | inMinAlpha | int? | <0, 255> | Minimum for the fourth pixel component, usually Blue (Auto = -INF). Default value: ftl::NIL. | |
![]() | inMaxAlpha | int? | <0, 255> | Maximum for the fourth pixel component, usually Blue (Auto = +INF). Default value: ftl::NIL. | |
![]() | inFuzziness | float | <0.0f, INF> | Tolerance for the ranges that results in intermediate output values. | |
![]() | outMonoImage | FilNet.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
![]() |
![]() |
ThresholdImage_RGB performed on the sample image with inMinRed = 120.0, inMaxGreen = 100.0, inMaxBlue = 100.0, inFuzziness = 0.0.
![]() |
![]() |
ThresholdImage_RGB performed on the sample image with inMinRed = 120.0, inMaxGreen = 100.0, inMaxBlue = 100.0, inFuzziness = 10.0.
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. |