Main Content

detectSURFFeatures

Detect SURF features and returnSURFPointsobject

Description

example

points= detectSURFFeatures(I)返回一个SURFPointsobject,points, containing information about SURF features detected in the 2-D grayscale input imageI. ThedetectSURFFeaturesfunction implements the Speeded-Up Robust Features (SURF) algorithm to find blob features.

points= detectSURFFeatures(I,Name,Value)specifies options using one or more name-value arguments in addition to the input arguments in the previous syntax.

Examples

collapse all

Read image and detect interest points.

I = imread('cameraman.tif'); points = detectSURFFeatures(I);

Display locations of interest in image.

imshow(I); holdon; plot(points.selectStrongest(10));

Figure contains an axes object. The axes object contains 3 objects of type image, line.

Input Arguments

collapse all

Input image, specified as anM-by-N2-D grayscale. The input image must be a real non-sparse value.

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

Name-Value Arguments

Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN, whereNameis the argument name andValueis the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and encloseNamein quotes.

Example:detectSURFFeatures(I,'MetricThreshold',100)

Strongest feature threshold, specified as a non-negative scalar. To return more blobs, decrease the value of this threshold.

Number of octaves, specified as an integer scalar, greater than or equal to1. Increase this value to detect larger blobs. Recommended values are between1and4.

Each octave spans a number of scales that are analyzed using varying size filters:

Octave Filter Sizes
1 9-by-9, 15-by-15, 21-by-21, 27-by-27, ...
2 15-by-15, 27-by-27, 39-by-39, 51-by-51, ...
3 27-by-27, 51-by-51, 75-by-75, 99-by-99, ...
4 ....

Higher octaves use larger filters and subsample the image data. Larger number of octaves result in finding larger size blobs. Set theNumOctavesparameter appropriately for the image size. For example, a 50-by-50 image require you to set theNumOctavesparameter, less than or equal to2. TheNumScaleLevelsparameter controls the number of filters used per octave. At least three levels are required to analyze the data in a single octave.

数量每倍频程的规模水平to compute, specified as an integer scalar, greater than or equal to3. Increase this number to detect more blobs at finer scale increments. Recommended values are between3and6.

Rectangular region of interest, specified as a vector. The vector must be in the format [xywidthheight]. When you specify anROI, the function detects corners within the area at [xy] of size specified by [widthheight]. The [xy] elements specify the upper left corner of the region.

Output Arguments

collapse all

SURF features, returned as aSURFPointsobject. This object contains information about SURF features detected in a grayscale image.

References

[1] Bay, H., A. Ess, T. Tuytelaars, and L. Van Gool. “SURF:Speeded Up Robust Features.”Computer Vision and Image Understanding (CVIU).Vol. 110, No. 3, pp. 346–359, 2008.

Extended Capabilities

Version History

介绍了R2011b