new Fast()
FAST intends for "Features from Accelerated Segment Test". This method
performs a point segment test corner detection. The segment test
criterion operates by considering a circle of sixteen pixels around the
corner candidate p. The detector classifies p as a corner if there exists
a set of n contiguous pixelsin the circle which are all brighter than the
intensity of the candidate pixel Ip plus a threshold t, or all darker
than Ip − t.
15 00 01
14 02
13 03
12 [] 04
11 05
10 06
09 08 07
For more reference:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.60.3991&rep=rep1&type=pdf
- Source:
Members
-
<static> THRESHOLD :number
-
Holds the threshold to determine whether the tested pixel is brighter or darker than the corner candidate p.
Type:
- number
- Default Value:
- 40
- Source:
Methods
-
<static> findCorners(The, width, height, threshold) → {array}
-
Finds corners coordinates on the graysacaled image.
Parameters:
Name Type Description The
array grayscale pixels in a linear [p1,p2,...] array. width
number The image width. height
number The image height. threshold
number to determine whether the tested pixel is brighter or darker than the corner candidate p. Default value is 40. - Source:
Returns:
Array containing the coordinates of all found corners, e.g. [x0,y0,x1,y1,...], where P(x0,y0) represents a corner coordinate.- Type
- array
-
<static> isBrighter(circlePixel, p, threshold) → {Boolean}
-
Checks if the circle pixel is brigther than the candidate pixel p by a threshold.
Parameters:
Name Type Description circlePixel
number The circle pixel value. p
number The value of the candidate pixel p. threshold
number - Source:
Returns:
- Type
- Boolean
-
<static> isCorner(p, circlePixel, threshold) → {Boolean}
-
Checks if the circle pixel is within the corner of the candidate pixel p by a threshold.
Parameters:
Name Type Description p
number The value of the candidate pixel p. circlePixel
number The circle pixel value. threshold
number - Source:
Returns:
- Type
- Boolean
-
<static> isDarker(circlePixel, p, threshold) → {Boolean}
-
Checks if the circle pixel is darker than the candidate pixel p by a threshold.
Parameters:
Name Type Description circlePixel
number The circle pixel value. p
number The value of the candidate pixel p. threshold
number - Source:
Returns:
- Type
- Boolean
-
<protected, static> isTriviallyExcluded(circlePixel, p, threshold) → {Boolean}
-
Fast check to test if the candidate pixel is a trivially excluded value. In order to be a corner, the candidate pixel value should be darker or brigther than 9-12 surrouding pixels, when at least three of the top, bottom, left and right pixels are brither or darker it can be automatically excluded improving the performance.
Parameters:
Name Type Description circlePixel
number The circle pixel value. p
number The value of the candidate pixel p. threshold
number - Source:
Returns:
- Type
- Boolean