LFSiftPP.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * @file LFSiftPP.h
  3. * @brief Sift++ interface
  4. * @author Erik Rodner
  5. * @date 11/19/2007
  6. */
  7. #ifndef LFSIFTPPINCLUDE
  8. #define LFSIFTPPINCLUDE
  9. #ifdef NOVISUAL
  10. #include <vislearning/nice_nonvis.h>
  11. #else
  12. #include <vislearning/nice.h>
  13. #endif
  14. #include "core/basics/Config.h"
  15. #include "LocalFeatureRepresentation.h"
  16. namespace OBJREC {
  17. /** Sift++ interface */
  18. class LFSiftPP : public LocalFeatureRepresentation
  19. {
  20. protected:
  21. enum {
  22. DALGIN_DETECTOR = 0,
  23. DALIGN_MULTIPLE
  24. };
  25. int descriptorAlignment;
  26. double minScale;
  27. double maxScale;
  28. int numScales;
  29. int numAngles;
  30. float threshold;
  31. float edgeThreshold;
  32. int levels;
  33. int octaves;
  34. int first_octave;
  35. bool normalizeFeature;
  36. public:
  37. /** simple constructor */
  38. LFSiftPP( const NICE::Config *conf );
  39. /** simple destructor */
  40. virtual ~LFSiftPP();
  41. int getDescSize () const;
  42. int extractFeatures ( const NICE::Image & img, NICE::VVector & features,
  43. NICE::VVector & positions ) const;
  44. void visualizeFeatures ( NICE::Image & mark,
  45. const NICE::VVector & positions,
  46. size_t color ) const;
  47. };
  48. } // namespace
  49. #endif