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


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.


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.


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.

Code Generation Support
Compile-time constant inputs: No restriction.
Supports MATLAB Function block: No
To index locations with this object, use the syntax: points.Location(idx,:), for points object. See visionRecovertformCodeGeneration_kernel.m, which is used in the Introduction to Code Generation with Feature Matching and Registration example.
Code Generation Support, Usage Notes, and Limitations

Input Arguments


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



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

Default: 0


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


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

Default: 12.0


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

Default: 0.0


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


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


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;

Display the [x y] coordinates.

ans =

  10×2 single matrix

  136.4033   55.5000
  155.6964   83.7577
  197.0000  233.0000
  117.3680   92.3680
  147.0000  162.0000
  104.0000  229.0000
  129.7972   68.2028
  154.8790   77.0000
  118.0269  174.0269
  131.0000   91.1675


[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.

Introduced in R2014a

Was this topic helpful?