/** * @file LFColorSande.h * @brief interface to ColorSande implementation * @author Erik Rodner * @date 11/19/2007 */ #ifndef LFColorSandeINCLUDE #define LFColorSandeINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "core/image/ImageT.h" #include "LocalFeatureRepresentation.h" #include "core/basics/Config.h" namespace OBJREC { /** interface to ColorSande implementation */ class LFColorSande : public LocalFeatureRepresentation { protected: std::string c_binaryExecutable; std::string c_params; double c_minScale; //! size of the descriptor int descriptor_size; //! use grid for SIFT Positions bool usegrid; //! size of the grid std::string gridsize; //! used scales std::string scales; public: /** simple constructor */ LFColorSande( const NICE::Config *conf, std::string section = "LFColorSande" ); /** simple destructor */ virtual ~LFColorSande(); int getDescSize () const; /** * get the colorSIFT features * @param img grayvalue input image * @param features features (output) * @param positions position of the features * @return */ int extractFeatures ( const NICE::Image & img, NICE::VVector & features, NICE::VVector & positions ) const; /** * get the colorSIFT features * @param img color input image * @param features features (output) * @param positions position of the features * @return */ int extractFeatures ( const NICE::ColorImage & img, NICE::VVector & features, NICE::VVector & positions ) const; }; } // namespace #endif