Skip to content

points_lepetitPointsLepetitPointsLepetitpoints_lepetitT_points_lepetitπŸ”—

Short descriptionπŸ”—

points_lepetitPointsLepetitPointsLepetitpoints_lepetitT_points_lepetit β€” Detect points of interest using the Lepetit operator.

SignatureπŸ”—

points_lepetit( image Image, integer Radius, integer CheckNeighbor, integer MinCheckNeighborDiff, integer MinScore, string Subpix, out point.y Row, out point.x Column )void PointsLepetit( const HObject& Image, const HTuple& Radius, const HTuple& CheckNeighbor, const HTuple& MinCheckNeighborDiff, const HTuple& MinScore, const HTuple& Subpix, HTuple* Row, HTuple* Column )static void HOperatorSet.PointsLepetit( HObject image, HTuple radius, HTuple checkNeighbor, HTuple minCheckNeighborDiff, HTuple minScore, HTuple subpix, out HTuple row, out HTuple column )def points_lepetit( image: HObject, radius: int, check_neighbor: int, min_check_neighbor_diff: int, min_score: int, subpix: str ) -> Tuple[Sequence[Union[int, float]], Sequence[Union[int, float]]]

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 )

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 HImage::PointsLepetit( Hlong Radius, Hlong CheckNeighbor, Hlong MinCheckNeighborDiff, Hlong MinScore, const wchar_t* Subpix, HTuple* Row, HTuple* Column ) const (Windows only)

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

DescriptionπŸ”—

points_lepetitPointsLepetit extracts points of interest like corners or blob-like structures from Imageimageimage. The Imageimageimage is first smoothed with a median of size 3x3. Then, all the gray values on a circle with radius Radiusradiusradius 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 MinCheckNeighborDiffminCheckNeighborDiffmin_check_neighbor_diff. 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 CheckNeighborcheckNeighborcheck_neighbor 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 MinScoreminScoremin_score 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 Subpixsubpixsubpix to β€˜interpolation’ (default) or β€˜none’, it is possible to turn that refinement step on or off. The resulting points are returned in Rowrowrow and Columncolumncolumn. The operator points_lepetitPointsLepetit can especially be used for very fast interest point extraction. The results are however less robust than points extracted by points_harrisPointsHarris 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.

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on domain level.

ParametersπŸ”—

Imageimageimage (input_object) singlechannelimage β†’ object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject (byte / uint2)

Input image.

Radiusradiusradius (input_control) integer β†’ (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Radius of the circle.

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

CheckNeighborcheckNeighborcheck_neighbor (input_control) integer β†’ (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Number of checked neighbors on the circle.

Default: 11
Suggested values: 1, 2, 3, 51, 2, 3, 5

MinCheckNeighborDiffminCheckNeighborDiffmin_check_neighbor_diff (input_control) integer β†’ (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Threshold of gray value difference to each circle point.

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

MinScoreminScoremin_score (input_control) integer β†’ (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Threshold of gray value difference to all circle points.

Default: 3030
Suggested values: 5, 10, 15, 20, 25, 305, 10, 15, 20, 25, 30

Subpixsubpixsubpix (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Subpixel accuracy of point coordinates.

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

Rowrowrow (output_control) point.y-array β†’ (integer / real)HTuple (Hlong / double)HTuple (int / long / double)Sequence[Union[int, float]]Htuple (Hlong / double)

Row-coordinates of the detected points.

Columncolumncolumn (output_control) point.x-array β†’ (integer / real)HTuple (Hlong / double)HTuple (int / long / double)Sequence[Union[int, float]]Htuple (Hlong / double)

Column-coordinates of the detected points.

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

gauss_filterGaussFilter

Alternatives

points_foerstnerPointsFoerstner, points_harrisPointsHarris, points_harris_binomialPointsHarrisBinomial, points_sojkaPointsSojka

ModuleπŸ”—

Foundation