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

AVL.ThresholdImage_HSx

Transforms each pixel value to minimum or maximum depending on whether it belongs to specified region in the HSV, HSL or HSI color space.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void ThresholdImage_HSx
(
	AvlNet.Image inRgbImage,
	NullableRef<AvlNet.Region> inRoi,
	AvlNet.HSxColorModel inColorModel,
	int inBeginHue,
	int inEndHue,
	int? inMinSaturation,
	int? inMaxSaturation,
	int? inMinBrightness,
	int? inMaxBrightness,
	float inFuzziness,
	AvlNet.Image outMonoImage
)

Parameters

Name Type Range Default Description
inRgbImageAvlNet.ImageInput image in the RGB color space.
inRoiAvlNet.NullableRef<AvlNet.Region>Region of interest. Default value: atl::NIL.
inColorModelAvlNet.HSxColorModelSelected color model.
inBeginHueint<0, 255>0Lowest acceptable Hue; if higher than inEndHue, then range wrapping is used. Default value: 0.
inEndHueint<0, 255>255Highest acceptable Hue, if lower than inBeginHue, then range wrapping is used. Default value: 255.
inMinSaturationint?<0, 255>128Default value: 128.
inMaxSaturationint?<0, 255>
inMinBrightnessint?<0, 255>128Minimum brightness; denotes V, L or I, depending on inColorModel. Default value: 128.
inMaxBrightnessint?<0, 255>Maximum brightness; denotes V, L or I, depending on inColorModel. Default value: atl::NIL.
inFuzzinessfloat<0.0f, INF>Tolerance for value 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. Each of the image pixel is internally converted to HSx (HSV, HSL or HSI) color representation and then examined.

  • Pixels meeting all of the following conditions are transformed to the maximum level:
    • Value of the Hue parameter is in cyclic range (inBeginHue, inEndHue).
    • Value of the Saturation parameter is in range (inMinSaturation, inMaxSaturation).
    • Value of the Brightness parameter is in range (inMinBrightness, inMaxBrightness).
  • Other pixels are transformed to the minimum level.

If any of the parameters inMinSaturation, inMinBrightness is not set, it is assumed to be -infinity.

If any of the parameters inMaxSaturation, inMaxBrightness 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 parameter values; thus creating smooth transition between minimum and maximum values in the resulting image.

Examples

ThresholdImage_HSx performed on the sample image with inColorModel = HSV, inBeginHue = 0.0, inEndHue = 10.0, inMinSaturation = 120.0, inMinBrightness = 70.0.

Hardware Acceleration

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_HSx.
DomainError Region exceeds an input image in ThresholdImage_HSx.
DomainError Not supported inRgbImage pixel format in ThresholdImage_HSx. Supported formats: 3xUInt8.

Function Overrides

See also