cv::gpu::SURF_GPU Class Reference

#include <gpu.hpp>

Inherits CvSURFParams.

List of all members.

Public Types

enum  KeypointLayout {
  SF_X = 0, SF_Y, SF_LAPLACIAN, SF_SIZE,
  SF_DIR, SF_HESSIAN, SF_FEATURE_STRIDE
}

Public Member Functions

 SURF_GPU ()
 the default constructor
 SURF_GPU (double _hessianThreshold, int _nOctaves=4, int _nOctaveLayers=2, bool _extended=false, float _keypointsRatio=0.01f, bool _upright=false)
 the full constructor taking all the necessary parameters
int descriptorSize () const
 returns the descriptor size in float's (64 or 128)
void uploadKeypoints (const vector< KeyPoint > &keypoints, GpuMat &keypointsGPU)
 upload host keypoints to device memory
void downloadKeypoints (const GpuMat &keypointsGPU, vector< KeyPoint > &keypoints)
 download keypoints from device to host memory
void downloadDescriptors (const GpuMat &descriptorsGPU, vector< float > &descriptors)
 download descriptors from device to host memory
void operator() (const GpuMat &img, const GpuMat &mask, GpuMat &keypoints)
void operator() (const GpuMat &img, const GpuMat &mask, GpuMat &keypoints, GpuMat &descriptors, bool useProvidedKeypoints=false)
void operator() (const GpuMat &img, const GpuMat &mask, std::vector< KeyPoint > &keypoints)
void operator() (const GpuMat &img, const GpuMat &mask, std::vector< KeyPoint > &keypoints, GpuMat &descriptors, bool useProvidedKeypoints=false)
void operator() (const GpuMat &img, const GpuMat &mask, std::vector< KeyPoint > &keypoints, std::vector< float > &descriptors, bool useProvidedKeypoints=false)

Public Attributes

float keypointsRatio
 max keypoints = min(keypointsRatio * img.size().area(), 65535)
GpuMat sum
GpuMat mask1
GpuMat maskSum
GpuMat intBuffer
GpuMat det
GpuMat trace
GpuMat maxPosBuffer
int extended
int upright
double hessianThreshold
int nOctaves
int nOctaveLayers

Member Enumeration Documentation

Enumerator:
SF_X 
SF_Y 
SF_LAPLACIAN 
SF_SIZE 
SF_DIR 
SF_HESSIAN 
SF_FEATURE_STRIDE 

Constructor & Destructor Documentation

cv::gpu::SURF_GPU::SURF_GPU (  ) 

the default constructor

cv::gpu::SURF_GPU::SURF_GPU ( double  _hessianThreshold,
int  _nOctaves = 4,
int  _nOctaveLayers = 2,
bool  _extended = false,
float  _keypointsRatio = 0.01f,
bool  _upright = false 
) [explicit]

the full constructor taking all the necessary parameters


Member Function Documentation

int cv::gpu::SURF_GPU::descriptorSize (  )  const

returns the descriptor size in float's (64 or 128)

void cv::gpu::SURF_GPU::uploadKeypoints ( const vector< KeyPoint > &  keypoints,
GpuMat keypointsGPU 
)

upload host keypoints to device memory

void cv::gpu::SURF_GPU::downloadKeypoints ( const GpuMat keypointsGPU,
vector< KeyPoint > &  keypoints 
)

download keypoints from device to host memory

void cv::gpu::SURF_GPU::downloadDescriptors ( const GpuMat descriptorsGPU,
vector< float > &  descriptors 
)

download descriptors from device to host memory

void cv::gpu::SURF_GPU::operator() ( const GpuMat img,
const GpuMat mask,
GpuMat keypoints 
)

finds the keypoints using fast hessian detector used in SURF supports CV_8UC1 images keypoints will have nFeature cols and 6 rows keypoints.ptr<float>(SF_X)[i] will contain x coordinate of i'th feature keypoints.ptr<float>(SF_Y)[i] will contain y coordinate of i'th feature keypoints.ptr<float>(SF_LAPLACIAN)[i] will contain laplacian sign of i'th feature keypoints.ptr<float>(SF_SIZE)[i] will contain size of i'th feature keypoints.ptr<float>(SF_DIR)[i] will contain orientation of i'th feature keypoints.ptr<float>(SF_HESSIAN)[i] will contain response of i'th feature

void cv::gpu::SURF_GPU::operator() ( const GpuMat img,
const GpuMat mask,
GpuMat keypoints,
GpuMat descriptors,
bool  useProvidedKeypoints = false 
)

finds the keypoints and computes their descriptors. Optionally it can compute descriptors for the user-provided keypoints and recompute keypoints direction

void cv::gpu::SURF_GPU::operator() ( const GpuMat img,
const GpuMat mask,
std::vector< KeyPoint > &  keypoints 
)
void cv::gpu::SURF_GPU::operator() ( const GpuMat img,
const GpuMat mask,
std::vector< KeyPoint > &  keypoints,
GpuMat descriptors,
bool  useProvidedKeypoints = false 
)
void cv::gpu::SURF_GPU::operator() ( const GpuMat img,
const GpuMat mask,
std::vector< KeyPoint > &  keypoints,
std::vector< float > &  descriptors,
bool  useProvidedKeypoints = false 
)

Member Data Documentation

max keypoints = min(keypointsRatio * img.size().area(), 65535)

int CvSURFParams::extended [inherited]
int CvSURFParams::upright [inherited]
double CvSURFParams::hessianThreshold [inherited]
int CvSURFParams::nOctaves [inherited]
int CvSURFParams::nOctaveLayers [inherited]

The documentation for this class was generated from the following file: