00001 /******************************************************************************* 00002 * SurfExtractorBase.h 00003 * 00004 * (C) 2008 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 *******************************************************************************/ 00008 00009 #ifndef SurfExtractorBase_H 00010 #define SurfExtractorBase_H 00011 00012 #include <vector> 00013 #include <string> 00014 #include <ros/ros.h> 00015 00016 #include "Workers/Math/Box2D.h" 00017 #include "Workers/Math/Point2D.h" 00018 00019 #include "KeyPoint.h" 00020 #include "KeyPointExtractor.h" 00021 00022 00028 class SurfExtractorBase: public KeyPointExtractor 00029 { 00030 public: 00031 00033 SurfExtractorBase( ); 00034 00036 SurfExtractorBase( const SurfExtractorBase& other ); 00037 00039 virtual ~SurfExtractorBase(); 00040 00042 SurfExtractorBase& operator=( const SurfExtractorBase& other ); 00043 00047 void setSamplingStep( int newValue ); 00048 void setOctaves( int newValue ); 00049 void setBlobResponseThreshold( double newValue ); 00050 void setInitLobeSize( int newValue ); 00051 void setRotationInvariance( bool newValue ); 00052 void setExtended( bool newValue ); 00053 00055 virtual std::string getDescription(); 00056 00057 protected: 00058 00059 // Parameters for the SURF algorithm 00060 00062 int m_IndexSize; 00064 int m_SamplingStep; 00066 int m_Octaves; 00068 double m_BlobResponseThreshold; 00070 int m_InitLobeSize; 00072 bool m_RotationInvariance; 00074 bool m_Extended; 00075 }; 00076 00077 00078 #endif 00079