Speeded up robust features, port from GPU module. /////////////////////////////// SURF //////////////////////////////////////////. More...
#include <ocl.hpp>
Inherits cv::Feature2D.
Public Types | |
enum | KeypointLayout { X_ROW = 0, Y_ROW, LAPLACIAN_ROW, OCTAVE_ROW, SIZE_ROW, ANGLE_ROW, HESSIAN_ROW, ROWS_COUNT } |
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 () |
CV_WRAP_AS (detectAndCompute) virtual void operator()(InputArray image | |
CV_WRAP void | compute (const Mat &image, CV_OUT CV_IN_OUT std::vector< KeyPoint > &keypoints, CV_OUT Mat &descriptors) const |
void | compute (const vector< Mat > &images, vector< vector< KeyPoint > > &keypoints, vector< Mat > &descriptors) const |
CV_WRAP 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 CV_WRAP bool | empty () const |
virtual CV_WRAP bool | empty () const |
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 |
CV_WRAP int | getInt (const string &name) const |
CV_WRAP double | getDouble (const string &name) const |
CV_WRAP bool | getBool (const string &name) const |
CV_WRAP string | getString (const string &name) const |
CV_WRAP Mat | getMat (const string &name) const |
CV_WRAP vector< Mat > | getMatVector (const string &name) const |
CV_WRAP 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 | 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) |
CV_WRAP void | setInt (const string &name, int value) |
void | setInt (const char *name, int value) |
CV_WRAP void | setDouble (const string &name, double value) |
void | setDouble (const char *name, double value) |
CV_WRAP void | setBool (const string &name, bool value) |
void | setBool (const char *name, bool value) |
CV_WRAP void | setString (const string &name, const string &value) |
void | setString (const char *name, const string &value) |
CV_WRAP void | setMat (const string &name, const Mat &value) |
void | setMat (const char *name, const Mat &value) |
CV_WRAP void | setMatVector (const string &name, const vector< Mat > &value) |
void | setMatVector (const char *name, const vector< Mat > &value) |
CV_WRAP void | setAlgorithm (const string &name, const Ptr< Algorithm > &value) |
template<typename _Tp > | |
void | setAlgorithm (const string &name, const Ptr< _Tp > &value) |
void | setAlgorithm (const char *name, const Ptr< Algorithm > &value) |
template<typename _Tp > | |
void | setAlgorithm (const char *name, const Ptr< _Tp > &value) |
CV_WRAP string | paramHelp (const string &name) const |
int | paramType (const char *name) const |
CV_WRAP int | paramType (const string &name) const |
CV_WRAP void | getParams (CV_OUT vector< string > &names) const |
virtual void | write (FileStorage &fs) const |
virtual void | read (const FileNode &fn) |
Static Public Member Functions | |
static CV_WRAP Ptr< Feature2D > | create (const string &name) |
static CV_WRAP void | getList (CV_OUT vector< string > &algorithms) |
static CV_WRAP Ptr< Algorithm > | _create (const string &name) |
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 |
InputArray | mask |
InputArray CV_OUT vector < KeyPoint > & | keypoints |
InputArray CV_OUT vector < KeyPoint > OutputArray | descriptors |
InputArray CV_OUT vector < KeyPoint > OutputArray bool | useProvidedKeypoints =false ) const = 0 |
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 |
Static Protected Member Functions | |
static void | removeInvalidPoints (const Mat &mask, vector< KeyPoint > &keypoints) |
static void | removeBorderKeypoints (vector< KeyPoint > &keypoints, Size imageSize, int borderSize) |
Speeded up robust features, port from GPU module. /////////////////////////////// SURF //////////////////////////////////////////.
|
inherited |
cv::ocl::SURF_OCL::SURF_OCL | ( | ) |
the default constructor
|
explicit |
the full constructor taking all the necessary parameters
|
virtual |
returns the descriptor size in float's (64 or 128)
Implements cv::DescriptorExtractor.
|
virtual |
Implements cv::DescriptorExtractor.
void cv::ocl::SURF_OCL::uploadKeypoints | ( | const vector< cv::KeyPoint > & | keypoints, |
oclMat & | keypointsocl | ||
) |
upload host keypoints to device memory
void cv::ocl::SURF_OCL::downloadKeypoints | ( | const oclMat & | keypointsocl, |
vector< KeyPoint > & | keypoints | ||
) |
download keypoints from device to host memory
void cv::ocl::SURF_OCL::downloadDescriptors | ( | const oclMat & | descriptorsocl, |
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::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
void cv::ocl::SURF_OCL::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
|
virtual |
Reimplemented from cv::Algorithm.
void cv::ocl::SURF_OCL::releaseMemory | ( | ) |
|
protectedvirtual |
Implements cv::FeatureDetector.
|
protectedvirtual |
Implements cv::DescriptorExtractor.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
virtualinherited |
Reimplemented in cv::DynamicAdaptedFeatureDetector, cv::PyramidAdaptedFeatureDetector, and cv::GridAdaptedFeatureDetector.
|
virtualinherited |
Reimplemented in cv::CalonderDescriptorExtractor< T >, and cv::OpponentColorDescriptorExtractor.
|
staticprotectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
virtualinherited |
|
staticprotectedinherited |
float cv::ocl::SURF_OCL::hessianThreshold |
int cv::ocl::SURF_OCL::nOctaves |
int cv::ocl::SURF_OCL::nOctaveLayers |
bool cv::ocl::SURF_OCL::extended |
bool cv::ocl::SURF_OCL::upright |
float cv::ocl::SURF_OCL::keypointsRatio |
max keypoints = min(keypointsRatio * img.size().area(), 65535)
oclMat cv::ocl::SURF_OCL::sum |
oclMat cv::ocl::SURF_OCL::mask1 |
oclMat cv::ocl::SURF_OCL::maskSum |
oclMat cv::ocl::SURF_OCL::intBuffer |
oclMat cv::ocl::SURF_OCL::det |
oclMat cv::ocl::SURF_OCL::trace |
oclMat cv::ocl::SURF_OCL::maxPosBuffer |
|
inherited |
|
inherited |
|
inherited |
|
inherited |