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 Thearray grayscale pixels in a linear [p1,p2,...] array. widthnumber The image width. heightnumber The image height. thresholdnumber 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 circlePixelnumber The circle pixel value. pnumber The value of the candidate pixel p. thresholdnumber - 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 pnumber The value of the candidate pixel p. circlePixelnumber The circle pixel value. thresholdnumber - 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 circlePixelnumber The circle pixel value. pnumber The value of the candidate pixel p. thresholdnumber - 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 circlePixelnumber The circle pixel value. pnumber The value of the candidate pixel p. thresholdnumber - Source:
Returns:
- Type
- Boolean