ClassesClassesClassesClasses | | | | Operators

points_lepetitT_points_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit (Operator)

Name

points_lepetitT_points_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit — Detect points of interest using the Lepetit operator.

Signature

points_lepetit(Image : : Radius, CheckNeighbor, MinCheckNeighborDiff, MinScore, Subpix : Row, Column)

Herror T_points_lepetit(const Hobject Image, const Htuple Radius, const Htuple CheckNeighbor, const Htuple MinCheckNeighborDiff, const Htuple MinScore, const Htuple Subpix, Htuple* Row, Htuple* Column)

Herror points_lepetit(Hobject Image, const HTuple& Radius, const HTuple& CheckNeighbor, const HTuple& MinCheckNeighborDiff, const HTuple& MinScore, const HTuple& Subpix, HTuple* Row, HTuple* Column)

HTuple HImage::PointsLepetit(const HTuple& Radius, const HTuple& CheckNeighbor, const HTuple& MinCheckNeighborDiff, const HTuple& MinScore, const HTuple& Subpix, HTuple* Column) const

void PointsLepetit(const HObject& Image, const HTuple& Radius, const HTuple& CheckNeighbor, const HTuple& MinCheckNeighborDiff, const HTuple& MinScore, const HTuple& Subpix, HTuple* Row, HTuple* Column)

void HImage::PointsLepetit(Hlong Radius, Hlong CheckNeighbor, Hlong MinCheckNeighborDiff, Hlong MinScore, const HString& Subpix, HTuple* Row, HTuple* Column) const

void HImage::PointsLepetit(Hlong Radius, Hlong CheckNeighbor, Hlong MinCheckNeighborDiff, Hlong MinScore, const char* Subpix, HTuple* Row, HTuple* Column) const

void HOperatorSetX.PointsLepetit(
[in] IHUntypedObjectX* Image, [in] VARIANT Radius, [in] VARIANT CheckNeighbor, [in] VARIANT MinCheckNeighborDiff, [in] VARIANT MinScore, [in] VARIANT Subpix, [out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HImageX.PointsLepetit(
[in] Hlong Radius, [in] Hlong CheckNeighbor, [in] Hlong MinCheckNeighborDiff, [in] Hlong MinScore, [in] BSTR Subpix, [out] VARIANT* Column)

static void HOperatorSet.PointsLepetit(HObject image, HTuple radius, HTuple checkNeighbor, HTuple minCheckNeighborDiff, HTuple minScore, HTuple subpix, out HTuple row, out HTuple column)

void HImage.PointsLepetit(int radius, int checkNeighbor, int minCheckNeighborDiff, int minScore, string subpix, out HTuple row, out HTuple column)

Description

points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit extracts points of interest like corners or blob-like structures from ImageImageImageImageImageimage. The ImageImageImageImageImageimage is first smoothed with a median of size 3x3. Then, all the gray values on a circle with radius RadiusRadiusRadiusRadiusRadiusradius around an interest point candidate (m) are examined. The absolute differences of two diagonally opposed gray values (m1,m2) on the circle to the central pixel m is computed. At least one of these differences has to be larger than MinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffminCheckNeighborDiff. All diagonally opposed pixels on the circle must fulfill that condition. To suppress detection of points at edges that have a small curvature (aliasing), it is possible to compute CheckNeighborCheckNeighborCheckNeighborCheckNeighborCheckNeighborcheckNeighbor further differences of circle point neighbors of m1 and m2 to the center, that as well fulfill the above criteria. By computing all gray value differences of the circle points to the center, a mean gray value difference is determined. That value has to be larger than MinScoreMinScoreMinScoreMinScoreMinScoreminScore and allows to restrict the results to points with high contrast. By computing the score of all eight neighbors of m, it is possible to fit a quadratic equation to that. The maxima of that equation determines a subpixel accurate interest point position. By setting the parameter SubpixSubpixSubpixSubpixSubpixsubpix to 'interpolation' (default) or 'none', it is possible to turn that refinement step on or off. The resulting points are returned in RowRowRowRowRowrow and ColumnColumnColumnColumnColumncolumn. The operator points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit can especially be used for very fast interest point extraction. The results are however less robust than points extracted by points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris for example.

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)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Input image.

RadiusRadiusRadiusRadiusRadiusradius (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Radius of the circle.

Default value: 3

Suggested values: 3, 5, 6, 7, 8, 9, 10, 15

CheckNeighborCheckNeighborCheckNeighborCheckNeighborCheckNeighborcheckNeighbor (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of checked neighbors on the circle.

Default value: 1

Suggested values: 1, 2, 3, 5

MinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffminCheckNeighborDiff (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Threshold of grayvalue difference to each circle point.

Default value: 15

Suggested values: 10, 15, 20, 25, 30, 35, 40, 45, 60, 80

MinScoreMinScoreMinScoreMinScoreMinScoreminScore (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Threshold of grayvalue difference to all circle points.

Default value: 30

Suggested values: 5, 10, 15, 20, 25, 30

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

Subpixel accuracy of point coordinates.

Default value: 'interpolation' "interpolation" "interpolation" "interpolation" "interpolation" "interpolation"

List of values: 'interpolation'"interpolation""interpolation""interpolation""interpolation""interpolation", 'none'"none""none""none""none""none"

RowRowRowRowRowrow (output_control)  point.y-array HTupleHTupleHTupleVARIANTHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double) (Hlong / double) (Hlong / double)

Row-coordinates of the detected points.

ColumnColumnColumnColumnColumncolumn (output_control)  point.x-array HTupleHTupleHTupleVARIANTHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double) (Hlong / double) (Hlong / double)

Column-coordinates of the detected points.

Possible Predecessors

gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter

Alternatives

points_foerstnerpoints_foerstnerPointsFoerstnerpoints_foerstnerPointsFoerstnerPointsFoerstner, points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris, points_harris_binomialpoints_harris_binomialPointsHarrisBinomialpoints_harris_binomialPointsHarrisBinomialPointsHarrisBinomial, points_sojkapoints_sojkaPointsSojkapoints_sojkaPointsSojkaPointsSojka

Module

Foundation


ClassesClassesClassesClasses | | | | Operators