Image Component Library (ICL)
Public Member Functions | Private Attributes | List of all members
icl::cv::SurfFeatureDetector Class Reference

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SurfFeatureDetector()

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

◆ ~SurfFeatureDetector()

icl::cv::SurfFeatureDetector::~SurfFeatureDetector ( )

Member Function Documentation

◆ detect()

const std::vector<SurfFeature>& icl::cv::SurfFeatureDetector::detect ( const core::ImgBase image)

detects SURF features in given image

◆ getReferenceFeatures()

const std::vector<SurfFeature>& icl::cv::SurfFeatureDetector::getReferenceFeatures ( ) const

returns the featuers internally stored as reference

◆ match()

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

◆ setIntervals()

void icl::cv::SurfFeatureDetector::setIntervals ( int  intervals)

◆ setOctaves()

void icl::cv::SurfFeatureDetector::setOctaves ( int  octaves)

◆ setReferenceImage()

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.

◆ setSampleStep()

void icl::cv::SurfFeatureDetector::setSampleStep ( int  sampleStep)

◆ setThreshold()

void icl::cv::SurfFeatureDetector::setThreshold ( float  threshold)

Member Data Documentation

◆ m_data

Data* icl::cv::SurfFeatureDetector::m_data
private

hidden implementation

hidden data pointer


The documentation for this class was generated from the following file: