[−][src]Function arrayfire::fast
pub fn fast<T>(
input: &Array<T>,
thr: f32,
arc_len: u32,
non_max: bool,
feat_ratio: f32,
edge: u32
) -> Features where
T: HasAfEnum + ImageFilterType,
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.
Parameters
input
- the input image Arraythr
- FAST threshold for which pixel of the circle around the center pixel is considered to be greater or smallerarc_len
- length of arc (or sequential segment) to be tested, must be within range [9-16]non_max
- performs non-maximal supression if truefeat_ratio
- maximum ratio of features to detect, the maximum number of features is calculated byfeature_ratio * num of elements
. The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded.edge
- is the length of the edges in the image to be discarded by FAST(minimum is 3, as the radius of the circle)
Return Values
This function returns an object of struct Features containing Arrays for x and y coordinates and score, while array oreientation is set to 0 as FAST does not compute orientation. Size is set to 1 as FAST does not compute multiple scales.