hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold (Operator)

Name

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold — Perform a hysteresis threshold operation on an image.

Signature

hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : )

Herror hysteresis_threshold(const Hobject Image, Hobject* RegionHysteresis, const Hlong Low, const Hlong High, const Hlong MaxLength)

Herror T_hysteresis_threshold(const Hobject Image, Hobject* RegionHysteresis, const Htuple Low, const Htuple High, const Htuple MaxLength)

void HysteresisThreshold(const HObject& Image, HObject* RegionHysteresis, const HTuple& Low, const HTuple& High, const HTuple& MaxLength)

HRegion HImage::HysteresisThreshold(const HTuple& Low, const HTuple& High, Hlong MaxLength) const

HRegion HImage::HysteresisThreshold(Hlong Low, Hlong High, Hlong MaxLength) const

static void HOperatorSet.HysteresisThreshold(HObject image, out HObject regionHysteresis, HTuple low, HTuple high, HTuple maxLength)

HRegion HImage.HysteresisThreshold(HTuple low, HTuple high, int maxLength)

HRegion HImage.HysteresisThreshold(int low, int high, int maxLength)

def hysteresis_threshold(image: HObject, low: Union[int, float], high: Union[int, float], max_length: int) -> HObject

Description

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold performs a hysteresis threshold operation (introduced by Canny) on an image. All points in the input image ImageImageImageimageimage having a gray value larger than or equal to HighHighHighhighhigh are immediately accepted (“secure” points). Conversely, all points with gray values less than LowLowLowlowlow are immediately rejected. “Potential” points with gray values between both thresholds are accepted if they are connected to “secure” points by a path of “potential” points having a length of at most MaxLengthMaxLengthMaxLengthmaxLengthmax_length points. This means that “secure” points influence their surroundings (hysteresis).

Attention

For images of type byte, uint2, or int4 the lower threshold must be LowLowLowlowlow > 0.

Execution Information

Parameters

ImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHObjectHobject (byte / uint2 / int4 / real)

Input image.

RegionHysteresisRegionHysteresisRegionHysteresisregionHysteresisregion_hysteresis (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Segmented region.

LowLowLowlowlow (input_control)  number HTupleUnion[int, float]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Lower threshold for the gray values.

Default: 30

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

HighHighHighhighhigh (input_control)  number HTupleUnion[int, float]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Upper threshold for the gray values.

Default: 60

Suggested values: 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130

Restriction: High >= Low

MaxLengthMaxLengthMaxLengthmaxLengthmax_length (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximum length of a path of “potential” points to reach a “secure” point.

Default: 10

Suggested values: 1, 2, 3, 5, 7, 10, 12, 14, 17, 20, 25, 30, 35, 40, 50

Value range: 1 ≤ MaxLength MaxLength MaxLength maxLength max_length

Minimum increment: 1

Recommended increment: 5

Result

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold 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_systemSetSystemSetSystemset_system. If necessary, an exception is raised.

Alternatives

dyn_thresholddyn_thresholdDynThresholdDynThresholddyn_threshold, thresholdthresholdThresholdThresholdthreshold, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupclass_2dim_sup, fast_thresholdfast_thresholdFastThresholdFastThresholdfast_threshold

See also

edges_imageedges_imageEdgesImageEdgesImageedges_image, sobel_dirsobel_dirSobelDirSobelDirsobel_dir, background_segbackground_segBackgroundSegBackgroundSegbackground_seg

References

J. Canny, “Finding Edges and Lines in Images”; Report, AI-TR-720, M.I.T. Artificial Intelligence Lab., Cambridge, MA, 1983.

Module

Foundation