Class: Fast

Fast

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