fast_thresholdfast_thresholdFastThresholdFastThreshold (Operator)

Name

fast_thresholdfast_thresholdFastThresholdFastThreshold — Fast thresholding of images using global thresholds.

Signature

fast_threshold(Image : Region : MinGray, MaxGray, MinSize : )

Herror fast_threshold(const Hobject Image, Hobject* Region, double MinGray, double MaxGray, const Hlong MinSize)

Herror T_fast_threshold(const Hobject Image, Hobject* Region, const Htuple MinGray, const Htuple MaxGray, const Htuple MinSize)

void FastThreshold(const HObject& Image, HObject* Region, const HTuple& MinGray, const HTuple& MaxGray, const HTuple& MinSize)

HRegion HImage::FastThreshold(const HTuple& MinGray, const HTuple& MaxGray, Hlong MinSize) const

HRegion HImage::FastThreshold(double MinGray, double MaxGray, Hlong MinSize) const

static void HOperatorSet.FastThreshold(HObject image, out HObject region, HTuple minGray, HTuple maxGray, HTuple minSize)

HRegion HImage.FastThreshold(HTuple minGray, HTuple maxGray, int minSize)

HRegion HImage.FastThreshold(double minGray, double maxGray, int minSize)

Description

fast_thresholdfast_thresholdFastThresholdFastThresholdFastThreshold selects the pixels from the input image whose gray values g fulfill the following condition:

To reduce the processing time, the selection is done in two steps: At first, all points lying on selected horizontal lines that are specified by their distance MinSizeMinSizeMinSizeMinSizeminSize are processed. In the next step the neighborhood (size (2*MinSize+1) x (2*MinSize+1)) of all previously selected points are processed.

Attention

On multicore computers supporting the SSE2 instruction set, thresholdthresholdThresholdThresholdThreshold is most likely faster than fast_thresholdfast_thresholdFastThresholdFastThresholdFastThreshold. fast_thresholdfast_thresholdFastThresholdFastThresholdFastThreshold may only be preferred to thresholdthresholdThresholdThresholdThreshold if those features are not available, e.g. on embedded platforms.

Execution Information

Parameters

ImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / uint2 / direction / cyclic / real)

Input image.

RegionRegionRegionRegionregion (output_object)  region(-array) objectHRegionHRegionHobject *

Segmented regions.

MinGrayMinGrayMinGrayMinGrayminGray (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Lower threshold for the gray values.

Default value: 128

Suggested values: 0.0, 10.0, 30.0, 64.0, 128.0, 200.0, 220.0, 255.0

Typical range of values: 0.0 ≤ MinGray MinGray MinGray MinGray minGray ≤ 255.0 (lin)

Minimum increment: 1

Recommended increment: 5.0

MaxGrayMaxGrayMaxGrayMaxGraymaxGray (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Upper threshold for the gray values.

Default value: 255.0

Suggested values: 0.0, 10.0, 30.0, 64.0, 128.0, 200.0, 220.0, 255.0

Typical range of values: 0.0 ≤ MaxGray MaxGray MaxGray MaxGray maxGray ≤ 255.0 (lin)

Minimum increment: 1

Recommended increment: 5.0

MinSizeMinSizeMinSizeMinSizeminSize (input_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimum size of objects to be extracted.

Default value: 20

Suggested values: 5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 100

Typical range of values: 2 ≤ MinSize MinSize MinSize MinSize minSize ≤ 200 (lin)

Minimum increment: 1

Recommended increment: 2

Complexity

Let A be the area of the output region and height the height of ImageImageImageImageimage. Then the runtime complexity is O(A + height / MinSizeMinSizeMinSizeMinSizeminSize).

Result

fast_thresholdfast_thresholdFastThresholdFastThresholdFastThreshold returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior with respect to the input images and output regions can be determined by setting the values of the flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result", and 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region" with set_systemset_systemSetSystemSetSystemSetSystem. If necessary, an exception is raised.

Possible Predecessors

histo_to_threshhisto_to_threshHistoToThreshHistoToThreshHistoToThresh, min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmp, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, fill_interlacefill_interlaceFillInterlaceFillInterlaceFillInterlace

Possible Successors

connectionconnectionConnectionConnectionConnection, dilation1dilation1Dilation1Dilation1Dilation1, erosion1erosion1Erosion1Erosion1Erosion1, openingopeningOpeningOpeningOpening, closingclosingClosingClosingClosing, rank_regionrank_regionRankRegionRankRegionRankRegion, shape_transshape_transShapeTransShapeTransShapeTrans, skeletonskeletonSkeletonSkeletonSkeleton

Alternatives

thresholdthresholdThresholdThresholdThreshold, gen_grid_regiongen_grid_regionGenGridRegionGenGridRegionGenGridRegion, dilation_rectangle1dilation_rectangle1DilationRectangle1DilationRectangle1DilationRectangle1, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold

See also

class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSup, hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThreshold

Module

Foundation