/** * @file LFSiftPP.h * @brief Sift++ interface (with detector!) * @author Erik Rodner * @date 11/19/2007 */ #ifndef LFSIFTPPINCLUDE #define LFSIFTPPINCLUDE #include "core/imagedisplay/ImageDisplay.h" #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "core/image/ImageT.h" #include "core/basics/Config.h" #include "LocalFeatureRepresentation.h" namespace OBJREC { /** Sift++ interface */ class LFSiftPP : public LocalFeatureRepresentation { protected: enum { DALGIN_DETECTOR = 0, DALIGN_MULTIPLE }; int descriptorAlignment; double minScale; double maxScale; int numScales; int numAngles; float threshold; float edgeThreshold; int levels; int octaves; int first_octave; bool normalizeFeature; public: /** simple constructor */ LFSiftPP( const NICE::Config *conf ); /** simple destructor */ virtual ~LFSiftPP(); int getDescSize () const; int extractFeatures ( const NICE::Image & img, NICE::VVector & features, NICE::VVector & positions ) const; void visualizeFeatures ( NICE::Image & mark, const NICE::VVector & positions, size_t color ) const; }; } // namespace #endif