Name
points_lepetit — Detect points of interest using the Lepetit operator.
points_lepetit(Image : : Radius, CheckNeighbor, MinCheckNeighborDiff, MinScore, Subpix : Row, Column)
points_lepetit extracts points of interest like corners or
blob-like structures from Image. The Image is first
smoothed with a median of size 3x3. Then, all the gray values on a circle
with radius Radius 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 MinCheckNeighborDiff. 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 CheckNeighbor further differences of circle point
neighbours 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 MinScore and
allows to restrict the results to points with high contrast. By computing
the score of all eight neighbours 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 Subpix
to 'true' or 'false' (default), it is possible to turn that refinement
step on or off. The resulting points are returned in Row and
Column. The operator points_lepetit can especially be
used for very fast interest point extraction. The results are however
less robust than points extracted by points_harris for example.
|
Image (input_object)
|
singlechannelimage → object (byte) |
| Input image. |
|
Radius (input_control)
|
integer → (integer) |
| Radius of the circle. |
|
Default value:
3 |
|
List of values:
3, 5, 6, 7, 8, 9, 10, 15 |
|
CheckNeighbor (input_control)
|
integer → (integer) |
| Number of checked neighbors on the circle. |
|
Default value:
1 |
|
List of values:
1, 2, 3, 5 |
|
MinCheckNeighborDiff (input_control)
|
integer → (integer) |
| Threshold of grayvalue difference to each circle
point. |
|
Default value:
20 |
|
List of values:
10, 15, 20, 25, 30, 35, 40, 45, 60, 80 |
|
MinScore (input_control)
|
integer → (integer) |
| Threshold of grayvalue difference to all circle points. |
|
Default value:
10 |
|
List of values:
5, 10, 15, 20 |
|
Subpix (input_control)
|
string → (string) |
| Subpixel accuracy of point coordinates. |
|
Default value:
'none' |
|
List of values:
'none', 'interpolation' |
|
Row (output_control)
|
point.y-array → (integer / real) |
| Row-coordinates of the detected points. |
|
Column (output_control)
|
point.x-array → (integer / real) |
| Column-coordinates of the detected points. |
points_lepetit is reentrant and automatically parallelized (on domain level).
gauss_image
points_foerstner,
points_harris,
points_harris_binomial,
points_sojka
Foundation
| Version 9.0.2 |
Copyright © 1996-2010 MVTec Software GmbH |