You are here: Start » AVL.NET » Function Reference » Image » Image Thresholding » AVL.ThresholdImage_RGB

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

C++
C#
 
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
inRgbImageAvlNet.ImageInput image, usually in the RGB color space.
inRoiAvlNet.NullableRef<AvlNet.Region>Region of interest. Default value: atl::NIL.
inMinRedint?<0, 255>128Minimum for the first pixel component, usually Red (Auto = -INF). Default value: 128.
inMaxRedint?<0, 255>Maximum for the first pixel component, usually Red (Auto = +INF). Default value: atl::NIL.
inMinGreenint?<0, 255>128Minimum for the second pixel component, usually Green (Auto = -INF). Default value: 128.
inMaxGreenint?<0, 255>Maximum for the second pixel component, usually Green (Auto = +INF). Default value: atl::NIL.
inMinBlueint?<0, 255>128Minimum for the third pixel component, usually Blue (Auto = -INF). Default value: 128.
inMaxBlueint?<0, 255>Maximum for the third pixel component, usually Blue (Auto = +INF). Default value: atl::NIL.
inMinAlphaint?<0, 255>Minimum for the fourth pixel component, usually Blue (Auto = -INF). Default value: atl::NIL.
inMaxAlphaint?<0, 255>Maximum for the fourth pixel component, usually Blue (Auto = +INF). Default value: atl::NIL.
inFuzzinessfloat<0.0f, INF>Tolerance for the ranges that results in intermediate output values.
outMonoImageAvlNet.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.

Function Overrides

See also