ClassesClassesClassesClasses | | | | Operators

points_harris_binomialT_points_harris_binomialPointsHarrisBinomialpoints_harris_binomialPointsHarrisBinomialPointsHarrisBinomial (Operator)

Name

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

Signature

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

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

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

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

void PointsHarrisBinomial(const HObject& Image, const HTuple& MaskSizeGrad, const HTuple& MaskSizeSmooth, const HTuple& Alpha, const HTuple& Threshold, const HTuple& Subpix, HTuple* Row, HTuple* Column)

void HImage::PointsHarrisBinomial(Hlong MaskSizeGrad, Hlong MaskSizeSmooth, double Alpha, const HTuple& Threshold, const HString& Subpix, HTuple* Row, HTuple* Column) const

void HImage::PointsHarrisBinomial(Hlong MaskSizeGrad, Hlong MaskSizeSmooth, double Alpha, double Threshold, const HString& Subpix, HTuple* Row, HTuple* Column) const

void HImage::PointsHarrisBinomial(Hlong MaskSizeGrad, Hlong MaskSizeSmooth, double Alpha, double Threshold, const char* Subpix, HTuple* Row, HTuple* Column) const

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

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

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

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

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

Description

points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris extracts points of interest from an image ImageImageImageImageImageimage. The Harris operator is based upon the smoothed matrix

where stands for a Binomial smoothing of size MaskSizeSmoothMaskSizeSmoothMaskSizeSmoothMaskSizeSmoothMaskSizeSmoothmaskSizeSmooth and and are the first derivatives of the image, computed with a Sobel filter of size MaskSizeGradMaskSizeGradMaskSizeGradMaskSizeGradMaskSizeGradmaskSizeGrad. The resulting points are the positive local extrema of
If necessary, they can be restricted to points with a minimum filter response of ThresholdThresholdThresholdThresholdThresholdthreshold. By default the coordinates of the points are calculated with subpixel accuracy. This can be turned off by setting the parameter SubpixSubpixSubpixSubpixSubpixsubpix to 'off'.

Attention

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / uint2)

Input image.

MaskSizeGradMaskSizeGradMaskSizeGradMaskSizeGradMaskSizeGradmaskSizeGrad (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (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 ≤ MaskSizeGrad MaskSizeGrad MaskSizeGrad MaskSizeGrad MaskSizeGrad maskSizeGrad ≤ 50

Recommended increment: 2

Restriction: MaskSizeGrad > 0

MaskSizeSmoothMaskSizeSmoothMaskSizeSmoothMaskSizeSmoothMaskSizeSmoothmaskSizeSmooth (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (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 maskSizeSmooth ≤ 50

Recommended increment: 2

Restriction: MaskSizeSmooth > 0

AlphaAlphaAlphaAlphaAlphaalpha (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (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 alpha ≤ 0.1

Minimum increment: 0.001

Recommended increment: 0.01

Restriction: Alpha > 0.0

ThresholdThresholdThresholdThresholdThresholdthreshold (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Minimum filter response for the points.

Default value: 1000.0

Restriction: Threshold >= 0.0

SubpixSubpixSubpixSubpixSubpixsubpix (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Turn on or off subpixel refinement.

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

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

RowRowRowRowRowrow (output_control)  point.y-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row coordinates of the detected points.

ColumnColumnColumnColumnColumncolumn (output_control)  point.x-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column coordinates of the detected points.

Result

points_harrispoints_harrisPointsHarrispoints_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>)SetSystem("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_xldGenCrossContourXldgen_cross_contour_xldGenCrossContourXldGenCrossContourXld

Alternatives

points_foerstnerpoints_foerstnerPointsFoerstnerpoints_foerstnerPointsFoerstnerPointsFoerstner, points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris, points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit, points_sojkapoints_sojkaPointsSojkapoints_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


ClassesClassesClassesClasses | | | | Operators