Image Component Library (ICL)
|
ICL's New Generic Surf Feature detection class. More...
#include <SurfFeatureDetector.h>
Public Member Functions | |
SurfFeatureDetector (int octaves=5, int intervals=4, int sampleStep=2, float threshold=0.00005f, const std::string &plugin="best") | |
Constructor with given SURF detection parameters. More... | |
~SurfFeatureDetector () | |
const std::vector< SurfFeature > & | detect (const core::ImgBase *image) |
detects SURF features in given image More... | |
void | setReferenceImage (const core::ImgBase *image) |
detects SURF features in given image and stores them as internal reference features More... | |
const std::vector< SurfFeature > & | getReferenceFeatures () const |
returns the featuers internally stored as reference More... | |
const std::vector< SurfMatch > & | match (const core::ImgBase *image, float significance=0.65) |
detections SURF features and matches them against the given reference features More... | |
void | setOctaves (int octaves) |
void | setIntervals (int intervals) |
void | setSampleStep (int sampleStep) |
void | setThreshold (float threshold) |
Private Attributes | |
Data * | m_data |
hidden implementation More... | |
ICL's New Generic Surf Feature detection class.
Internally, the class either uses the opensurf-based implementation or an OpenCL-based implementation based on the clsurf library. The OpenSurf backend needs OpenCV, while the clsurf-backend builds on mandatory OpenCL support.
icl::cv::SurfFeatureDetector::SurfFeatureDetector | ( | int | octaves = 5 , |
int | intervals = 4 , |
||
int | sampleStep = 2 , |
||
float | threshold = 0.00005f , |
||
const std::string & | plugin = "best" |
||
) |
Constructor with given SURF detection parameters.
plugin can be either "opensurf" or "clsurf" or "best", which will prefer "clsurf" if possible
icl::cv::SurfFeatureDetector::~SurfFeatureDetector | ( | ) |
const std::vector<SurfFeature>& icl::cv::SurfFeatureDetector::detect | ( | const core::ImgBase * | image | ) |
detects SURF features in given image
const std::vector<SurfFeature>& icl::cv::SurfFeatureDetector::getReferenceFeatures | ( | ) | const |
returns the featuers internally stored as reference
const std::vector<SurfMatch>& icl::cv::SurfFeatureDetector::match | ( | const core::ImgBase * | image, |
float | significance = 0.65 |
||
) |
detections SURF features and matches them against the given reference features
void icl::cv::SurfFeatureDetector::setIntervals | ( | int | intervals | ) |
void icl::cv::SurfFeatureDetector::setOctaves | ( | int | octaves | ) |
void icl::cv::SurfFeatureDetector::setReferenceImage | ( | const core::ImgBase * | image | ) |
detects SURF features in given image and stores them as internal reference features
Please note, that the reference image is internally stored (by deep copy) When parameters are changed and the back-end must be re-initialized, the copy of the reference image is used to compute a new reference feature set based on the new parameters.
void icl::cv::SurfFeatureDetector::setSampleStep | ( | int | sampleStep | ) |
void icl::cv::SurfFeatureDetector::setThreshold | ( | float | threshold | ) |
|
private |
hidden implementation
hidden data pointer