Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

BRISKPoints class

Object for storing BRISK interest points

Description

This object provides the ability to pass data between the detectBRISKFeatures and extractFeatures functions. You can also use it to manipulate and plot the data returned by these functions. You can use the object to fill the points interactively in situations where you might want to mix a non-BRISK interest point detector with a BRISK descriptor.

Tips

Although BRISKPoints can hold many points, it is a scalar object. Therefore, NUMEL(BRISKPoints) always returns 1. This value can differ from LENGTH(BRISKPoints), which returns the true number of points held by the object.

Construction

points = BRISKPoints(Location) constructs a BRISKPoints object from an M-by-2 array of [x y] point coordinates, Location.

points = BRISKPoints(Location,Name,Value) constructs a BRISKPoints object with optional input properties specified by one or more Name,Value pair arguments. You can specify each additional property as a scalar or a vector whose length matches the number of coordinates in Location.

Input Arguments

Location

Point locations, specified as an M-by-2 array of [x y] point coordinates.

Properties

Count

Number of points held by the BRISK object, specified as a numeric value.

Default: 0

Location

Point locations, specified as an M-by-2 array of [x y] point coordinates.

Scale

Scale at which the feature is detected, specified as a value greater than or equal to 1.6.

Default: 12.0

Metric

Strength of detected feature, specified as a numeric value. The BRISK algorithm uses a determinant of an approximated Hessian.

Default: 0.0

Orientation

Orientation of the detected feature, specified as an angle, in radians. The angle is measured counterclockwise from the X-axis with the origin specified by the Location property. Do not set this property manually. Use the call to extractFeatures to fill in this value. The extractFeatures function modifies the default value of 0.0. Using BRISK interest points to extract a non-BRISK descriptor, (e.g. SURF, FREAK, MSER, etc.), can alter Orientation values. The Orientation is mainly useful for visualization purposes.

Default: 0.0

Methods

isemptyReturns true for empty object
lengthNumber of stored points
plotPlot BRISK points
selectStrongestReturn points with strongest metrics
selectUniformReturn a uniformly distributed subset of feature points
sizeSize of the BRISKPoints object

Examples

expand all

Read an image and detect the BRISK interest points.

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

Select and plot the 10 strongest interest points.

  strongest = points.selectStrongest(10);
  imshow(I); hold on;
  plot(strongest);

Display the [x y] coordinates.

  strongest.Location
ans =

  10×2 single matrix

  136.8434  114.7649
  143.7372  126.8453
  135.2803  123.5254
  134.8544  125.0714
  114.8065   47.3621
  105.1597  162.2291
  129.8372  108.4799
  114.6876  131.6573
  135.2267  127.3643
   92.4255   63.2960

References

[1] Leutenegger, S., M. Chli, and R. Siegwart. BRISK: Binary Robust Invariant Scalable Keypoints, Proceedings of the IEEE International Conference on Computer Vision (ICCV) 2011.

Extended Capabilities

Introduced in R2014a

Was this topic helpful?