points_harris_binomialT_points_harris_binomialPointsHarrisBinomialPointsHarrisBinomialpoints_harris_binomial (Operator)

Name

points_harris_binomialT_points_harris_binomialPointsHarrisBinomialPointsHarrisBinomialpoints_harris_binomial — 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)

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 HImage::PointsHarrisBinomial(Hlong MaskSizeGrad, Hlong MaskSizeSmooth, double Alpha, double Threshold, const wchar_t* Subpix, HTuple* Row, HTuple* Column) const   ( Windows only)

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)

def points_harris_binomial(image: HObject, mask_size_grad: int, mask_size_smooth: int, alpha: float, threshold: Union[float, int], subpix: str) -> Tuple[Sequence[float], Sequence[float]]

Description

points_harrispoints_harrisPointsHarrisPointsHarrispoints_harris extracts points of interest from an image ImageImageImageimageimage. The Harris operator is based upon the smoothed matrix where stands for a Binomial smoothing of size MaskSizeSmoothMaskSizeSmoothMaskSizeSmoothmaskSizeSmoothmask_size_smooth and and are the first derivatives of the image, computed with a Sobel filter of size MaskSizeGradMaskSizeGradMaskSizeGradmaskSizeGradmask_size_grad. The resulting points are the positive local extrema of 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'.

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.

Execution Information

Parameters

ImageImageImageimageimage (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / uint2)

Input image.

MaskSizeGradMaskSizeGradMaskSizeGradmaskSizeGradmask_size_grad (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

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

Default: 5

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

Value range: 1 ≤ MaskSizeGrad MaskSizeGrad MaskSizeGrad maskSizeGrad mask_size_grad

Recommended increment: 2

MaskSizeSmoothMaskSizeSmoothMaskSizeSmoothmaskSizeSmoothmask_size_smooth (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Amount of smoothing used for the integration of the gradients.

Default: 15

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

Value range: 1 ≤ MaskSizeSmooth MaskSizeSmooth MaskSizeSmooth maskSizeSmooth mask_size_smooth

Recommended increment: 2

AlphaAlphaAlphaalphaalpha (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Weight of the squared trace of the squared gradient matrix.

Default: 0.08

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

Value range: 0.0 ≤ Alpha Alpha Alpha alpha alpha

Minimum increment: 0.001

Recommended increment: 0.01

ThresholdThresholdThresholdthresholdthreshold (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Minimum filter response for the points.

Default: 1000.0

Value range: 0.0 ≤ Threshold Threshold Threshold threshold threshold

SubpixSubpixSubpixsubpixsubpix (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Turn on or off subpixel refinement.

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

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

RowRowRowrowrow (output_control)  point.y-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinates of the detected points.

ColumnColumnColumncolumncolumn (output_control)  point.x-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of the detected points.

Result

points_harrispoints_harrisPointsHarrisPointsHarrispoints_harris 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>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary, an exception is raised.

Possible Successors

gen_cross_contour_xldgen_cross_contour_xldGenCrossContourXldGenCrossContourXldgen_cross_contour_xld

Alternatives

points_foerstnerpoints_foerstnerPointsFoerstnerPointsFoerstnerpoints_foerstner, points_harrispoints_harrisPointsHarrisPointsHarrispoints_harris, points_lepetitpoints_lepetitPointsLepetitPointsLepetitpoints_lepetit, points_sojkapoints_sojkaPointsSojkaPointsSojkapoints_sojka

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