HALCON Reference Manual 10.0.2
Table of Contents / Filters / Points ClassesClassesClasses | | | Operators

points_harris_binomialT_points_harris_binomialpoints_harris_binomialPointsHarrisBinomialPointsHarrisBinomial (Operator)

Name

points_harris_binomialT_points_harris_binomialpoints_harris_binomialPointsHarrisBinomialPointsHarrisBinomial — Detect points of interest using the binomial approximation of the Harris operator.

Signature

points_harris_binomial(Image : : MaskSizeGrd, MaskSizeSmooth, Alpha, Threshold, Subpix : Row, Column)

Herror T_points_harris_binomial(const Hobject Image, const Htuple MaskSizeGrd, const Htuple MaskSizeSmooth, const Htuple Alpha, const Htuple Threshold, const Htuple Subpix, Htuple* Row, Htuple* Column)

Herror points_harris_binomial(Hobject Image, const HTuple& MaskSizeGrd, const HTuple& MaskSizeSmooth, const HTuple& Alpha, const HTuple& Threshold, const HTuple& Subpix, HTuple* Row, HTuple* Column)

HTuple HImage::PointsHarrisBinomial(const HTuple& MaskSizeGrd, const HTuple& MaskSizeSmooth, const HTuple& Alpha, const HTuple& Threshold, const HTuple& Subpix, HTuple* Column) const

void HOperatorSetX.PointsHarrisBinomial(
[in] IHUntypedObjectX* Image, [in] VARIANT MaskSizeGrd, [in] VARIANT MaskSizeSmooth, [in] VARIANT Alpha, [in] VARIANT Threshold, [in] VARIANT Subpix, [out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HImageX.PointsHarrisBinomial(
[in] Hlong MaskSizeGrd, [in] Hlong MaskSizeSmooth, [in] double Alpha, [in] VARIANT Threshold, [in] BSTR Subpix, [out] VARIANT* Column)

static void HOperatorSet.PointsHarrisBinomial(HObject image, HTuple maskSizeGrd, HTuple maskSizeSmooth, HTuple alpha, HTuple threshold, HTuple subpix, out HTuple row, out HTuple column)

void HImage.PointsHarrisBinomial(int maskSizeGrd, int maskSizeSmooth, double alpha, HTuple threshold, string subpix, out HTuple row, out HTuple column)

void HImage.PointsHarrisBinomial(int maskSizeGrd, int maskSizeSmooth, double alpha, double threshold, string subpix, out HTuple row, out HTuple column)

Description

points_harrispoints_harrispoints_harrisPointsHarrisPointsHarris extracts points of interest from an one-channel BYTE image ImageImageImageImageimage. The Harris operator is based upon the smoothed matrix

        /                                   \
        |         2                         |
        |       Ix               Ix Iy      |
M = G * |                                   |,
        |                          2        |
        |       Ix Iy            Iy         |
        \                                   /

where G stands for a Binomial smoothing of size MaskSizeSmoothMaskSizeSmoothMaskSizeSmoothMaskSizeSmoothmaskSizeSmooth and Ix and Iy are the first derivatives of the image, computed with a Sobel filter of size MaskSizeGrdMaskSizeGrdMaskSizeGrdMaskSizeGrdmaskSizeGrd. The resulting points are the positive local extrema of

                         2
Det(M) - AlphaAlphaAlphaAlphaalpha*(Trace(M)) .

If necessary, they can be restricted to points with a minimum filter response of ThresholdThresholdThresholdThresholdthreshold. By default the coordinates of the points are calculated with subpixel accuracy. This can be turned off by setting the parameter SubpixSubpixSubpixSubpixsubpix to 'off'.

Parallelization

Parameters

ImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageXHobject (byte)

Input image.

MaskSizeGrdMaskSizeGrdMaskSizeGrdMaskSizeGrdmaskSizeGrd (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Amount of binomial smoothing used for the calculation of the gradient.

Default value: 5

Suggested values: 3, 5, 7, 9, 11, 15, 21, 31

Typical range of values: 3 ≤ MaskSizeGrd MaskSizeGrd MaskSizeGrd MaskSizeGrd maskSizeGrd ≤ 50

Recommended increment: 2

Restriction: MaskSizeGrd > 0

MaskSizeSmoothMaskSizeSmoothMaskSizeSmoothMaskSizeSmoothmaskSizeSmooth (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Amount of smoothing used for the integration of the gradients.

Default value: 15

Suggested values: 3, 5, 7, 9, 11, 15, 21, 31

Typical range of values: 3 ≤ MaskSizeSmooth MaskSizeSmooth MaskSizeSmooth MaskSizeSmooth maskSizeSmooth ≤ 50

Recommended increment: 2

Restriction: MaskSizeSmooth > 0

AlphaAlphaAlphaAlphaalpha (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Weight of the squared trace of the squared gradient matrix.

Default value: 0.08

Suggested values: 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08

Typical range of values: 0.001 ≤ Alpha Alpha Alpha Alpha alpha ≤ 0.1

Minimum increment: 0.001

Recommended increment: 0.01

Restriction: Alpha > 0.0

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

Minimum filter response for the points.

Default value: 1000.0

Restriction: Threshold >= 0.0

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

Turn on or off subpixel refinement.

Default value: 'on' "on" "on" "on" "on"

List of values: 'on'"on""on""on""on", 'off'"off""off""off""off"

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

Row coordinates of the detected points.

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

Column coordinates of the detected points.

Result

points_harrispoints_harrispoints_harrisPointsHarrisPointsHarris 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

Alternatives

points_foerstnerpoints_foerstnerpoints_foerstnerPointsFoerstnerPointsFoerstner, points_harrispoints_harrispoints_harrisPointsHarrisPointsHarris, points_lepetitpoints_lepetitpoints_lepetitPointsLepetitPointsLepetit, points_sojkapoints_sojkapoints_sojkaPointsSojkaPointsSojka

References

C. Harris, M. Stephens: “A combined corner and edge detector”. Proceedings of the 4th Alvey Vision Conference, pp. 147-151, 1988.
V. Gouet, N.Boujemaa: “Object-based queries using color points of interest”. IEEE Workshop on Content-Based Access of Image and Video Libraries, CVPR/CBAIVL 2001, Hawaii, USA, 2001.

Module

Foundation


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