Speeded up robust features, port from GPU module. /////////////////////////////// SURF //////////////////////////////////////////. More...
#include <ocl.hpp>
Public Types | |
enum | KeypointLayout { X_ROW = 0, Y_ROW, LAPLACIAN_ROW, OCTAVE_ROW, SIZE_ROW, ANGLE_ROW, HESSIAN_ROW, ROWS_COUNT } |
Public Types inherited from cv::Algorithm | |
typedef Algorithm *(* | Constructor) (void) |
typedef int(Algorithm::* | Getter) () const |
typedef void(Algorithm::* | Setter) (int) |
Public Member Functions | |
SURF_OCL () | |
the default constructor More... | |
SURF_OCL (double _hessianThreshold, int _nOctaves=4, int _nOctaveLayers=2, bool _extended=true, float _keypointsRatio=0.01f, bool _upright=false) | |
the full constructor taking all the necessary parameters More... | |
int | descriptorSize () const |
returns the descriptor size in float's (64 or 128) More... | |
int | descriptorType () const |
void | uploadKeypoints (const vector< cv::KeyPoint > &keypoints, oclMat &keypointsocl) |
upload host keypoints to device memory More... | |
void | downloadKeypoints (const oclMat &keypointsocl, vector< KeyPoint > &keypoints) |
download keypoints from device to host memory More... | |
void | downloadDescriptors (const oclMat &descriptorsocl, vector< float > &descriptors) |
download descriptors from device to host memory More... | |
void | operator() (const oclMat &img, const oclMat &mask, oclMat &keypoints) |
void | operator() (const oclMat &img, const oclMat &mask, oclMat &keypoints, oclMat &descriptors, bool useProvidedKeypoints=false) |
void | operator() (const oclMat &img, const oclMat &mask, std::vector< KeyPoint > &keypoints) |
void | operator() (const oclMat &img, const oclMat &mask, std::vector< KeyPoint > &keypoints, oclMat &descriptors, bool useProvidedKeypoints=false) |
void | operator() (const oclMat &img, const oclMat &mask, std::vector< KeyPoint > &keypoints, std::vector< float > &descriptors, bool useProvidedKeypoints=false) |
void | operator() (InputArray img, InputArray mask, CV_OUT vector< KeyPoint > &keypoints) const |
finds the keypoints using fast hessian detector used in SURF More... | |
void | operator() (InputArray img, InputArray mask, CV_OUT vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false) const |
finds the keypoints and computes their descriptors. Optionally it can compute descriptors for the user-provided keypoints More... | |
AlgorithmInfo * | info () const |
void | releaseMemory () |
Public Member Functions inherited from cv::Feature2D | |
void | compute (const Mat &image, CV_OUT CV_IN_OUT std::vector< KeyPoint > &keypoints, CV_OUT Mat &descriptors) const |
Public Member Functions inherited from cv::FeatureDetector | |
virtual | ~FeatureDetector () |
void | detect (const Mat &image, CV_OUT vector< KeyPoint > &keypoints, const Mat &mask=Mat()) const |
void | detect (const vector< Mat > &images, vector< vector< KeyPoint > > &keypoints, const vector< Mat > &masks=vector< Mat >()) const |
virtual bool | empty () const |
Public Member Functions inherited from cv::Algorithm | |
Algorithm () | |
virtual | ~Algorithm () |
string | name () const |
template<typename _Tp > | |
ParamType< _Tp >::member_type | get (const string &name) const |
template<typename _Tp > | |
ParamType< _Tp >::member_type | get (const char *name) const |
int | getInt (const string &name) const |
double | getDouble (const string &name) const |
bool | getBool (const string &name) const |
string | getString (const string &name) const |
Mat | getMat (const string &name) const |
vector< Mat > | getMatVector (const string &name) const |
Ptr< Algorithm > | getAlgorithm (const string &name) const |
void | set (const string &name, int value) |
void | set (const string &name, double value) |
void | set (const string &name, bool value) |
void | set (const string &name, const string &value) |
void | set (const string &name, const Mat &value) |
void | set (const string &name, const vector< Mat > &value) |
void | set (const string &name, const Ptr< Algorithm > &value) |
template<typename _Tp > | |
void | set (const string &name, const Ptr< _Tp > &value) |
void | setInt (const string &name, int value) |
void | setDouble (const string &name, double value) |
void | setBool (const string &name, bool value) |
void | setString (const string &name, const string &value) |
void | setMat (const string &name, const Mat &value) |
void | setMatVector (const string &name, const vector< Mat > &value) |
void | setAlgorithm (const string &name, const Ptr< Algorithm > &value) |
template<typename _Tp > | |
void | setAlgorithm (const string &name, const Ptr< _Tp > &value) |
void | set (const char *name, int value) |
void | set (const char *name, double value) |
void | set (const char *name, bool value) |
void | set (const char *name, const string &value) |
void | set (const char *name, const Mat &value) |
void | set (const char *name, const vector< Mat > &value) |
void | set (const char *name, const Ptr< Algorithm > &value) |
template<typename _Tp > | |
void | set (const char *name, const Ptr< _Tp > &value) |
void | setInt (const char *name, int value) |
void | setDouble (const char *name, double value) |
void | setBool (const char *name, bool value) |
void | setString (const char *name, const string &value) |
void | setMat (const char *name, const Mat &value) |
void | setMatVector (const char *name, const vector< Mat > &value) |
void | setAlgorithm (const char *name, const Ptr< Algorithm > &value) |
template<typename _Tp > | |
void | setAlgorithm (const char *name, const Ptr< _Tp > &value) |
string | paramHelp (const string &name) const |
int | paramType (const char *name) const |
int | paramType (const string &name) const |
void | getParams (CV_OUT vector< string > &names) const |
virtual void | write (FileStorage &fs) const |
virtual void | read (const FileNode &fn) |
Public Member Functions inherited from cv::DescriptorExtractor | |
virtual | ~DescriptorExtractor () |
void | compute (const Mat &image, CV_OUT CV_IN_OUT vector< KeyPoint > &keypoints, CV_OUT Mat &descriptors) const |
void | compute (const vector< Mat > &images, vector< vector< KeyPoint > > &keypoints, vector< Mat > &descriptors) const |
virtual bool | empty () const |
Public Attributes | |
float | hessianThreshold |
int | nOctaves |
int | nOctaveLayers |
bool | extended |
bool | upright |
float | keypointsRatio |
max keypoints = min(keypointsRatio * img.size().area(), 65535) More... | |
oclMat | sum |
oclMat | mask1 |
oclMat | maskSum |
oclMat | intBuffer |
oclMat | det |
oclMat | trace |
oclMat | maxPosBuffer |
Protected Member Functions | |
void | detectImpl (const Mat &image, vector< KeyPoint > &keypoints, const Mat &mask) const |
void | computeImpl (const Mat &image, vector< KeyPoint > &keypoints, Mat &descriptors) const |
Additional Inherited Members | |
Static Public Member Functions inherited from cv::Feature2D | |
static Ptr< Feature2D > | create (const string &name) |
Static Public Member Functions inherited from cv::FeatureDetector | |
static Ptr< FeatureDetector > | create (const string &detectorType) |
Static Public Member Functions inherited from cv::Algorithm | |
static void | getList (CV_OUT vector< string > &algorithms) |
static Ptr< Algorithm > | _create (const string &name) |
template<typename _Tp > | |
static Ptr< _Tp > | create (const string &name) |
Static Public Member Functions inherited from cv::DescriptorExtractor | |
static Ptr< DescriptorExtractor > | create (const string &descriptorExtractorType) |
Static Protected Member Functions inherited from cv::FeatureDetector | |
static void | removeInvalidPoints (const Mat &mask, vector< KeyPoint > &keypoints) |
Static Protected Member Functions inherited from cv::DescriptorExtractor | |
static void | removeBorderKeypoints (vector< KeyPoint > &keypoints, Size imageSize, int borderSize) |
Speeded up robust features, port from GPU module. /////////////////////////////// SURF //////////////////////////////////////////.
cv::ocl::SURF_OCL::SURF_OCL | ( | ) |
the default constructor
|
explicit |
the full constructor taking all the necessary parameters
|
protectedvirtual |
Implements cv::DescriptorExtractor.
|
virtual |
returns the descriptor size in float's (64 or 128)
Implements cv::DescriptorExtractor.
|
virtual |
Implements cv::DescriptorExtractor.
|
protectedvirtual |
Implements cv::FeatureDetector.
void cv::ocl::SURF_OCL::downloadDescriptors | ( | const oclMat & | descriptorsocl, |
vector< float > & | descriptors | ||
) |
download descriptors from device to host memory
void cv::ocl::SURF_OCL::downloadKeypoints | ( | const oclMat & | keypointsocl, |
vector< KeyPoint > & | keypoints | ||
) |
download keypoints from device to host memory
|
virtual |
Reimplemented from cv::Algorithm.
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::ocl::SURF_OCL::operator() | ( | const oclMat & | img, |
const oclMat & | mask, | ||
oclMat & | keypoints, | ||
oclMat & | 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::ocl::SURF_OCL::operator() | ( | const oclMat & | img, |
const oclMat & | mask, | ||
std::vector< KeyPoint > & | keypoints | ||
) |
void cv::ocl::SURF_OCL::operator() | ( | const oclMat & | img, |
const oclMat & | mask, | ||
std::vector< KeyPoint > & | keypoints, | ||
oclMat & | descriptors, | ||
bool | useProvidedKeypoints = false |
||
) |
void cv::ocl::SURF_OCL::operator() | ( | const oclMat & | img, |
const oclMat & | mask, | ||
std::vector< KeyPoint > & | keypoints, | ||
std::vector< float > & | descriptors, | ||
bool | useProvidedKeypoints = false |
||
) |
void cv::ocl::SURF_OCL::operator() | ( | InputArray | img, |
InputArray | mask, | ||
CV_OUT vector< KeyPoint > & | keypoints | ||
) | const |
finds the keypoints using fast hessian detector used in SURF
|
virtual |
finds the keypoints and computes their descriptors. Optionally it can compute descriptors for the user-provided keypoints
Implements cv::Feature2D.
void cv::ocl::SURF_OCL::releaseMemory | ( | ) |
void cv::ocl::SURF_OCL::uploadKeypoints | ( | const vector< cv::KeyPoint > & | keypoints, |
oclMat & | keypointsocl | ||
) |
upload host keypoints to device memory
oclMat cv::ocl::SURF_OCL::det |
bool cv::ocl::SURF_OCL::extended |
float cv::ocl::SURF_OCL::hessianThreshold |
oclMat cv::ocl::SURF_OCL::intBuffer |
float cv::ocl::SURF_OCL::keypointsRatio |
max keypoints = min(keypointsRatio * img.size().area(), 65535)
oclMat cv::ocl::SURF_OCL::mask1 |
oclMat cv::ocl::SURF_OCL::maskSum |
oclMat cv::ocl::SURF_OCL::maxPosBuffer |
int cv::ocl::SURF_OCL::nOctaveLayers |
int cv::ocl::SURF_OCL::nOctaves |
oclMat cv::ocl::SURF_OCL::sum |
oclMat cv::ocl::SURF_OCL::trace |
bool cv::ocl::SURF_OCL::upright |