detectFASTFeatures

Detect corners using FAST algorithm and return cornerPoints object

Syntax

  • points = detectFASTFeatures(I) example
  • points = detectFASTFeatures(I,Name,Value)

Description

example

points = detectFASTFeatures(I) returns a cornerPoints object, points. The object contains information about the feature points detected in a 2-D grayscale input image, I. The detectFASTFeatures function uses the Features from Accelerated Segment Test (FAST) algorithm to find feature points.

points = detectFASTFeatures(I,Name,Value) uses additional options specified by one or more Name,Value pair arguments.

Code Generation Support:
Supports MATLAB Function block: No
Generated code for this function uses a precompiled platform-specific shared library.
Code Generation Support, Usage Notes, and Limitations

Examples

expand all

Find Corner Points in an Image Using the FAST Algorithm

Read the image.

I = imread('cameraman.tif');

Find the corners.

corners = detectFASTFeatures(I);

Display the results.

imshow(I); hold on;
plot(corners.selectStrongest(50));

Input Arguments

expand all

I — Input imageM-by-N 2-D grayscale image

Input image, specified in 2-D grayscale. The input image must be real and nonsparse.

Example:

Data Types: single | double | int16 | uint8 | uint16 | logical

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'MinQuality','0.01','ROI', [50,150,100,200] specifies that the detector must use a 1% minimum accepted quality of corners within the designated region of interest. This region of interest is located at x=50, y=150. The ROI has a width of 100 pixels, and a height of 200 pixels.

'MinQuality' — Minimum accepted quality of corners0.01 (default)

Minimum accepted quality of corners, specified as the comma-separated pair consisting of 'MinQuality' and a scalar value in the range [0,1].

The minimum accepted quality of corners represents a fraction of the maximum corner metric value in the image. Larger values can be used to remove erroneous corners.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

'MinContrast' — Minimum intensity0.2 (default)

Minimum intensity difference between corner and surrounding region, specified as the comma-separated pair consisting of 'MinContrast' and a scalar value in the range (0,1).

The minimum intensity represents a fraction of the maximum value of the image class. Increasing the value reduces the number of detected corners.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

'ROI' — Rectangular region[1 1 size(I,2) size(I,1)] (default) | vector

Rectangular region for corner detection, specified as a comma-separated pair consisting of 'ROI' and a vector of the format [x y width height]. The first two integer values [x y] represent the location of the upper-left corner of the region of interest. The last two integer values represent the width and height.

Example: 'ROI', [50,150,100,200]

Output Arguments

expand all

points — Corner pointscornerPoints object

Corner points object, returned as a cornerPoints object. The object contains information about the feature points detected in the 2-D grayscale input image.

References

[1] Rosten, E., and T. Drummond. "Fusing Points and Lines for High Performance Tracking," Proceedings of the IEEE International Conference on Computer Vision, Vol. 2 (October 2005): pp. 1508–1511.

Was this topic helpful?