HALCON Reference Manual 10.0.2
Table of Contents / Segmentation / Topography ClassesClassesClasses | | | Operators

critical_points_sub_pixT_critical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPix (Operator)

Name

critical_points_sub_pixT_critical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPix — Subpixel precise detection of critical points in an image.

Signature

critical_points_sub_pix(Image : : Filter, Sigma, Threshold : RowMin, ColumnMin, RowMax, ColumnMax, RowSaddle, ColumnSaddle)

Herror T_critical_points_sub_pix(const Hobject Image, const Htuple Filter, const Htuple Sigma, const Htuple Threshold, Htuple* RowMin, Htuple* ColumnMin, Htuple* RowMax, Htuple* ColumnMax, Htuple* RowSaddle, Htuple* ColumnSaddle)

Herror critical_points_sub_pix(Hobject Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle)

HTuple HImage::CriticalPointsSubPix(const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const

void HOperatorSetX.CriticalPointsSubPix(
[in] IHUntypedObjectX* Image, [in] VARIANT Filter, [in] VARIANT Sigma, [in] VARIANT Threshold, [out] VARIANT* RowMin, [out] VARIANT* ColumnMin, [out] VARIANT* RowMax, [out] VARIANT* ColumnMax, [out] VARIANT* RowSaddle, [out] VARIANT* ColumnSaddle)

VARIANT HImageX.CriticalPointsSubPix(
[in] BSTR Filter, [in] double Sigma, [in] double Threshold, [out] VARIANT* ColumnMin, [out] VARIANT* RowMax, [out] VARIANT* ColumnMax, [out] VARIANT* RowSaddle, [out] VARIANT* ColumnSaddle)

static void HOperatorSet.CriticalPointsSubPix(HObject image, HTuple filter, HTuple sigma, HTuple threshold, out HTuple rowMin, out HTuple columnMin, out HTuple rowMax, out HTuple columnMax, out HTuple rowSaddle, out HTuple columnSaddle)

void HImage.CriticalPointsSubPix(string filter, double sigma, double threshold, out HTuple rowMin, out HTuple columnMin, out HTuple rowMax, out HTuple columnMax, out HTuple rowSaddle, out HTuple columnSaddle)

Description

critical_points_sub_pixcritical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPix extracts critical points, i.e., local maxima, local minima, and saddle points, from the image ImageImageImageImageimage with subpixel precision. To do so, in each point the input image is approximated by a quadratic polynomial in x and y and subsequently the polynomial is examined for extremal values and saddle points. The partial derivatives, which are necessary for setting up the polynomial, are calculated either with various Gaussian derivatives or using the facet model, depending on FilterFilterFilterFilterfilter. In the first case, SigmaSigmaSigmaSigmasigma determines the size of the Gaussian kernels, while in the second case, before being processed the input image is smoothed by a Gaussian whose size is determined by SigmaSigmaSigmaSigmasigma. Therefore, 'facet'"facet""facet""facet""facet" results in a faster extraction at the expense of slightly less accurate results. A point is accepted to be a critical point if the absolute values of both eigenvalues of the Hessian matrix are greater than ThresholdThresholdThresholdThresholdthreshold. The eigenvalues correspond to the curvature of the gray value surface. If both eigenvalues are negative, the point is a local maximum, if both are positive, a local minimum, and if they have different signs, a saddle point.

Parallelization

Parameters

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

Input image.

FilterFilterFilterFilterfilter (input_control)  string HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Method for the calculation of the partial derivatives.

Default value: 'facet' "facet" "facet" "facet" "facet"

List of values: 'facet'"facet""facet""facet""facet", 'gauss'"gauss""gauss""gauss""gauss"

SigmaSigmaSigmaSigmasigma (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Sigma of the Gaussian. If FilterFilterFilterFilterfilter is 'facet', SigmaSigmaSigmaSigmasigma may be 0.0 to avoid the smoothing of the input image.

Suggested values: 0.7, 0.8, 0.9, 1.0, 1.2, 1.5, 2.0, 3.0

Restriction: Sigma >= 0.0

ThresholdThresholdThresholdThresholdthreshold (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Minimum absolute value of the eigenvalues of the Hessian matrix.

Default value: 5.0

Suggested values: 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0

Restriction: Threshold >= 0.0

RowMinRowMinRowMinRowMinrowMin (output_control)  point.y-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Row coordinates of the detected minima.

ColumnMinColumnMinColumnMinColumnMincolumnMin (output_control)  point.x-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Column coordinates of the detected minima.

RowMaxRowMaxRowMaxRowMaxrowMax (output_control)  point.y-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Row coordinates of the detected maxima.

ColumnMaxColumnMaxColumnMaxColumnMaxcolumnMax (output_control)  point.x-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Column coordinates of the detected maxima.

RowSaddleRowSaddleRowSaddleRowSaddlerowSaddle (output_control)  point.y-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Row coordinates of the detected saddle points.

ColumnSaddleColumnSaddleColumnSaddleColumnSaddlecolumnSaddle (output_control)  point.x-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Column coordinates of the detected saddle points.

Result

critical_points_sub_pixcritical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPix returns 2 (H_MSG_TRUE) if all parameters are correct and no error occurs during the execution. If the input is empty the behavior can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Successors

gen_cross_contour_xldgen_cross_contour_xldgen_cross_contour_xldGenCrossContourXldGenCrossContourXld, disp_crossdisp_crossdisp_crossDispCrossDispCross

Alternatives

local_min_sub_pixlocal_min_sub_pixlocal_min_sub_pixLocalMinSubPixLocalMinSubPix, local_max_sub_pixlocal_max_sub_pixlocal_max_sub_pixLocalMaxSubPixLocalMaxSubPix, saddle_points_sub_pixsaddle_points_sub_pixsaddle_points_sub_pixSaddlePointsSubPixSaddlePointsSubPix

See also

local_minlocal_minlocal_minLocalMinLocalMin, local_maxlocal_maxlocal_maxLocalMaxLocalMax, plateausplateausplateausPlateausPlateaus, plateaus_centerplateaus_centerplateaus_centerPlateausCenterPlateausCenter, lowlandslowlandslowlandsLowlandsLowlands, lowlands_centerlowlands_centerlowlands_centerLowlandsCenterLowlandsCenter

Module

Foundation


Table of Contents / Segmentation / Topography ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH