FAST feature detector.
More...
|
AFAPI features | fast (const array &in, const float thr=20.0f, const unsigned arc_length=9, const bool non_max=true, const float feature_ratio=0.05, const unsigned edge=3) |
| C++ Interface for FAST feature detector. More...
|
|
AFAPI af_err | af_fast (af_features *out, const af_array in, const float thr, const unsigned arc_length, const bool non_max, const float feature_ratio, const unsigned edge) |
| C Interface for FAST feature detector. More...
|
|
FAST feature detector.
A circle of radius 3 pixels, translating into a total of 16 pixels, is checked for sequential segments of pixels much brighter or much darker than the central one. For a pixel p to be considered a feature, there must exist a sequential segment of arc_length pixels in the circle around it such that all are greather than (p + thr) or smaller than (p - thr). After all features in the image are detected, if nonmax is true, the non-maximal suppression is applied, checking all detected features and the features detected in its 8-neighborhood and discard it if its score is non maximal.
AFAPI af_err af_fast |
( |
af_features * |
out, |
|
|
const af_array |
in, |
|
|
const float |
thr, |
|
|
const unsigned |
arc_length, |
|
|
const bool |
non_max, |
|
|
const float |
feature_ratio, |
|
|
const unsigned |
edge |
|
) |
| |
C Interface for FAST feature detector.
- Parameters
-
[out] | out | struct containing arrays for x and y coordinates and score, while array orientation is set to 0 as FAST does not compute orientation, and size is set to 1 as FAST does not compute multiple scales |
[in] | in | array containing a grayscale image (color images are not supported) |
[in] | thr | FAST threshold for which a pixel of the circle around the central pixel is considered to be greater or smaller |
[in] | arc_length | length of arc (or sequential segment) to be tested, must be within range [9-16] |
[in] | non_max | performs non-maximal suppression if true |
[in] | feature_ratio | maximum ratio of features to detect, the maximum number of features is calculated by feature_ratio * in.elements(). The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded |
[in] | edge | is the length of the edges in the image to be discarded by FAST (minimum is 3, as the radius of the circle) |
AFAPI features af::fast |
( |
const array & |
in, |
|
|
const float |
thr = 20.0f , |
|
|
const unsigned |
arc_length = 9 , |
|
|
const bool |
non_max = true , |
|
|
const float |
feature_ratio = 0.05 , |
|
|
const unsigned |
edge = 3 |
|
) |
| |
C++ Interface for FAST feature detector.
- Parameters
-
[in] | in | array containing a grayscale image (color images are not supported) |
[in] | thr | FAST threshold for which a pixel of the circle around the central pixel is considered to be greater or smaller |
[in] | arc_length | length of arc (or sequential segment) to be tested, must be within range [9-16] |
[in] | non_max | performs non-maximal suppression if true |
[in] | feature_ratio | maximum ratio of features to detect, the maximum number of features is calculated by feature_ratio * in.elements(). The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded |
[in] | edge | is the length of the edges in the image to be discarded by FAST (minimum is 3, as the radius of the circle) |
- Returns
- features object containing arrays for x and y coordinates and score, while array orientation is set to 0 as FAST does not compute orientation, and size is set to 1 as FAST does not compute multiple scales
- Examples:
- computer_vision/fast.cpp.