threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPix (Operator)

Name

threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPix — Extract level crossings from an image with subpixel accuracy.

Signature

threshold_sub_pix(Image : Border : Threshold : )

Herror threshold_sub_pix(const Hobject Image, Hobject* Border, double Threshold)

Herror T_threshold_sub_pix(const Hobject Image, Hobject* Border, const Htuple Threshold)

void ThresholdSubPix(const HObject& Image, HObject* Border, const HTuple& Threshold)

HXLDCont HImage::ThresholdSubPix(const HTuple& Threshold) const

HXLDCont HImage::ThresholdSubPix(double Threshold) const

static void HOperatorSet.ThresholdSubPix(HObject image, out HObject border, HTuple threshold)

HXLDCont HImage.ThresholdSubPix(HTuple threshold)

HXLDCont HImage.ThresholdSubPix(double threshold)

Description

threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix extracts the level crossings at the level ThresholdThresholdThresholdThresholdthreshold of the input image ImageImageImageImageimage with subpixel accuracy. The extracted level crossings are returned as XLD-contours in BorderBorderBorderBorderborder. In contrast to the operator thresholdthresholdThresholdThresholdThreshold, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix does not return regions, but the lines that separate regions with a gray value less than ThresholdThresholdThresholdThresholdthreshold from regions with a gray value greater than ThresholdThresholdThresholdThresholdthreshold.

For the extraction, the input image is regarded as a surface, in which the gray values are interpolated bilinearly between the centers of the individual pixels. Consistent with the surface thus defined, level crossing lines are extracted for each pixel and linked into topologically sound contours. This means that the level crossing contours are correctly split at junction points. If the image contains extended areas of constant gray value ThresholdThresholdThresholdThresholdthreshold, only the border of such areas is returned as level crossings.

Execution Information

Parameters

ImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHobject (byte / int1 / int2 / uint2 / int4 / real)

Input image.

BorderBorderBorderBorderborder (output_object)  xld_cont-array objectHXLDContHXLDContHobject *

Extracted level crossings.

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

Threshold for the level crossings.

Default value: 128

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

Example (HDevelop)

read_image(Image,'fabrik')
threshold_sub_pix(Image,Border,35)
dev_display(Border)

Example (C)

/* Detection zero crossings of the Laplacian-of-Gaussian of aerial image */
read_image(&Image,"fabrik");
threshold_sub_pix(Laplace,&Border,35);
disp_xld(Border,WindowHandle);

Example (HDevelop)

read_image(Image,'fabrik')
threshold_sub_pix(Image,Border,35)
dev_display(Border)

Example (HDevelop)

read_image(Image,'fabrik')
threshold_sub_pix(Image,Border,35)
dev_display(Border)

Example (HDevelop)

read_image(Image,'fabrik')
threshold_sub_pix(Image,Border,35)
dev_display(Border)

Result

threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix usually returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Alternatives

thresholdthresholdThresholdThresholdThreshold

See also

zero_crossing_sub_pixzero_crossing_sub_pixZeroCrossingSubPixZeroCrossingSubPixZeroCrossingSubPix

Module

2D Metrology