#include <gpu.hpp>
Inherits CvSURFParams.
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 |
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
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
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 |
||
) |
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] |