ClassesClassesClassesClasses | | | | Operators

threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix (Operator)

Name

threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_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)

Herror threshold_sub_pix(Hobject Image, Hobject* Border, const HTuple& Threshold)

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

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

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

HXLDCont HImage::ThresholdSubPix(double Threshold) const

void HOperatorSetX.ThresholdSubPix(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*Border, [in] VARIANT Threshold)

IHXLDContX* HImageX.ThresholdSubPix([in] VARIANT Threshold)

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_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix extracts the level crossings at the level ThresholdThresholdThresholdThresholdThresholdthreshold of the input image ImageImageImageImageImageimage with subpixel accuracy. The extracted level crossings are returned as XLD-contours in BorderBorderBorderBorderBorderborder. In contrast to the operator thresholdthresholdThresholdthresholdThresholdThreshold, threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix does not return regions, but the lines that separate regions with a gray value less than ThresholdThresholdThresholdThresholdThresholdthreshold from regions with a gray value greater than ThresholdThresholdThresholdThresholdThresholdthreshold.

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 ThresholdThresholdThresholdThresholdThresholdthreshold, only the border of such areas is returned as level crossings.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / int1 / int2 / uint2 / int4 / real)

Input image.

BorderBorderBorderBorderBorderborder (output_object)  xld_cont-array objectHXLDContHXLDContHXLDContArrayHXLDContXHobject *

Extracted level crossings.

ThresholdThresholdThresholdThresholdThresholdthreshold (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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)
disp_xld(Border,WindowHandle)

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)
disp_xld(Border,WindowHandle)

Example (C++ (HALCON 5.0-10.0))

/* Detection zero crossings of the Laplacian-of-Gaussian of aerial image */
HWindow Window(0,0,512,512);
HImage Image("fabrik");
HXLDContArray Border = Image.ThresholdSubPix(35);
Border.Display(Window);

Example (HDevelop)

read_image(Image,'fabrik')
threshold_sub_pix(Image,Border,35)
disp_xld(Border,WindowHandle)

Example (HDevelop)

read_image(Image,'fabrik')
threshold_sub_pix(Image,Border,35)
disp_xld(Border,WindowHandle)

Result

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

Alternatives

thresholdthresholdThresholdthresholdThresholdThreshold

See also

zero_crossing_sub_pixzero_crossing_sub_pixZeroCrossingSubPixzero_crossing_sub_pixZeroCrossingSubPixZeroCrossingSubPix

Module

2D Metrology


ClassesClassesClassesClasses | | | | Operators