pub struct SURF_CUDA { /* private fields */ }
Expand description

Class used for extracting Speeded Up Robust Features (SURF) from an image. :

The class SURF_CUDA implements Speeded Up Robust Features descriptor. There is a fast multi-scale Hessian keypoint detector that can be used to find the keypoints (which is the default option). But the descriptors can also be computed for the user-specified keypoints. Only 8-bit grayscale images are supported.

The class SURF_CUDA can store results in the GPU and CPU memory. It provides functions to convert results between CPU and GPU version ( uploadKeypoints, downloadKeypoints, downloadDescriptors ). The format of CPU results is the same as SURF results. GPU results are stored in GpuMat. The keypoints matrix is inline formula matrix with the CV_32FC1 type.

  • keypoints.ptr<float>(X_ROW)[i] contains x coordinate of the i-th feature.
  • keypoints.ptr<float>(Y_ROW)[i] contains y coordinate of the i-th feature.
  • keypoints.ptr<float>(LAPLACIAN_ROW)[i] contains the laplacian sign of the i-th feature.
  • keypoints.ptr<float>(OCTAVE_ROW)[i] contains the octave of the i-th feature.
  • keypoints.ptr<float>(SIZE_ROW)[i] contains the size of the i-th feature.
  • keypoints.ptr<float>(ANGLE_ROW)[i] contain orientation of the i-th feature.
  • keypoints.ptr<float>(HESSIAN_ROW)[i] contains the response of the i-th feature.

The descriptors matrix is inline formula matrix with the CV_32FC1 type.

The class SURF_CUDA uses some buffers and provides access to it. All buffers can be safely released between function calls.

See also

SURF

Note:

  • An example for using the SURF keypoint matcher on GPU can be found at opencv_source_code/samples/gpu/surf_keypoint_matcher.cpp

Implementations

the default constructor

the full constructor taking all the necessary parameters

C++ default parameters
  • _n_octaves: 4
  • _n_octave_layers: 2
  • _extended: false
  • _keypoints_ratio: 0.01f
  • _upright: false
Parameters
  • _hessianThreshold: Threshold for hessian keypoint detector used in SURF.
  • _nOctaves: Number of pyramid octaves the keypoint detector will use.
  • _nOctaveLayers: Number of octave layers within each octave.
  • _extended: Extended descriptor flag (true - use extended 128-element descriptors; false - use 64-element descriptors).
  • _keypointsRatio:
  • _upright: Up-right or rotated features flag (true - do not compute orientation of features; false - compute orientation).
C++ default parameters
  • _n_octaves: 4
  • _n_octave_layers: 2
  • _extended: false
  • _keypoints_ratio: 0.01f
  • _upright: false

Trait Implementations

Wrap the specified raw pointer Read more
Return an the underlying raw pointer while consuming this wrapper. Read more
Return the underlying raw pointer. Read more
Return the underlying mutable raw pointer Read more
Executes the destructor for this type. Read more
max keypoints = min(keypointsRatio * img.size().area(), 65535)
upload host keypoints to device memory
download keypoints from device to host memory
download descriptors from device to host memory
Finds the keypoints using fast hessian detector used in SURF Read more
Finds the keypoints and computes their descriptors using fast hessian detector used in SURF Read more
max keypoints = min(keypointsRatio * img.size().area(), 65535)
returns the descriptor size in float’s (64 or 128)
returns the default norm type

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.