LocalFeatureRepresentation.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. * @file LocalFeatureRepresentation.h
  3. * @brief Absract class for Local Feature Representations (Detector + Descriptor)
  4. * @author Erik Rodner, Alexander Freytag
  5. * @date 11/19/2007
  6. */
  7. #ifndef LOCALFEATUREREPRESENTATIONINCLUDE
  8. #define LOCALFEATUREREPRESENTATIONINCLUDE
  9. #include "core/imagedisplay/ImageDisplay.h"
  10. #include "core/vector/VectorT.h"
  11. #include "core/vector/MatrixT.h"
  12. #include "core/image/ImageT.h"
  13. #include <vector>
  14. #include "core/vector/VVector.h"
  15. namespace OBJREC {
  16. /** absract class for the representation of an image with local feature descriptors */
  17. /** NOTE: This class returns Descriptors, which DO NOT need any given positions. All Descriptors calculate there own positions, on DIFFERENT ways. **/
  18. /** @class LocalFeatureRepresentation
  19. * @brief Absract class for Local Feature Representations (Detector + Descriptor)
  20. *
  21. */
  22. class LocalFeatureRepresentation
  23. {
  24. protected:
  25. public:
  26. /** simple constructor */
  27. LocalFeatureRepresentation();
  28. /** simple destructor */
  29. virtual ~LocalFeatureRepresentation();
  30. virtual int getDescSize () const = 0;
  31. virtual int extractFeatures ( const NICE::Image & img,
  32. NICE::VVector & features,
  33. NICE::VVector & positions ) const = 0;
  34. virtual int extractFeatures ( const NICE::ColorImage & img,
  35. NICE::VVector & features,
  36. NICE::VVector & positions ) const;
  37. virtual void visualizeFeatures ( NICE::Image & mark,
  38. const NICE::VVector & positions,
  39. size_t color ) const;
  40. virtual void visualize ( NICE::Image & img,
  41. const NICE::Vector & feature ) const;
  42. };
  43. } // namespace
  44. #endif