#include <gpu.hpp>
Public Types | |
| enum | KeypointLayout { X_ROW = 0, Y_ROW, LAPLACIAN_ROW, OCTAVE_ROW, SIZE_ROW, ANGLE_ROW, HESSIAN_ROW, ROWS_COUNT } |
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) |
| void | releaseMemory () |
Public Attributes | |
| double | hessianThreshold |
| int | nOctaves |
| int | nOctaveLayers |
| bool | extended |
| bool | upright |
| float | keypointsRatio |
| max keypoints = min(keypointsRatio * img.size().area(), 65535) | |
| GpuMat | sum |
| GpuMat | mask1 |
| GpuMat | maskSum |
| GpuMat | intBuffer |
| GpuMat | det |
| GpuMat | trace |
| GpuMat | maxPosBuffer |
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>(X_ROW)[i] will contain x coordinate of i'th feature keypoints.ptr<float>(Y_ROW)[i] will contain y coordinate of i'th feature keypoints.ptr<float>(LAPLACIAN_ROW)[i] will contain laplacian sign of i'th feature keypoints.ptr<float>(OCTAVE_ROW)[i] will contain octave of i'th feature keypoints.ptr<float>(SIZE_ROW)[i] will contain size of i'th feature keypoints.ptr<float>(ANGLE_ROW)[i] will contain orientation of i'th feature keypoints.ptr<float>(HESSIAN_ROW)[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)