LFMikolajczyk.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /**
  2. * @file LFMikolajczyk.h
  3. * @brief interface to Mikolajczyk implementation
  4. * @author Erik Rodner
  5. * @date 11/19/2007
  6. */
  7. #ifndef LFMIKOLAJCZYKINCLUDE
  8. #define LFMIKOLAJCZYKINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "core/image/ImageT.h"
  12. #include "LocalFeatureRepresentation.h"
  13. #include "core/basics/Config.h"
  14. namespace OBJREC {
  15. /** interface to Mikolajczyk implementation */
  16. class LFMikolajczyk : public LocalFeatureRepresentation
  17. {
  18. protected:
  19. std::string c_binaryExecutable;
  20. std::string c_params;
  21. double c_minScale;
  22. int descriptor_size;
  23. public:
  24. ///////////////////// ///////////////////// /////////////////////
  25. // CONSTRUCTORS / DESTRUCTORS
  26. ///////////////////// ///////////////////// /////////////////////
  27. /**
  28. * @brief default constructor
  29. * @date 10-02-2014 (dd-mm-yyyy )
  30. * @author Alexander Freytag
  31. */
  32. LFMikolajczyk();
  33. /** simple constructor */
  34. LFMikolajczyk( const NICE::Config *conf );
  35. /** simple destructor */
  36. virtual ~LFMikolajczyk();
  37. ///////////////////// ///////////////////// /////////////////////
  38. // FEATURE STUFF
  39. ///////////////////// ///////////////////// //////////////////
  40. int getDescSize () const;
  41. int extractFeatures ( const NICE::Image & img, NICE::VVector & features,
  42. NICE::VVector & positions ) const;
  43. ///////////////////// INTERFACE PERSISTENT /////////////////////
  44. // interface specific methods for store and restore
  45. ///////////////////// INTERFACE PERSISTENT /////////////////////
  46. /**
  47. * @brief Load object from external file (stream)
  48. * @author Alexander Freytag
  49. * @date 10-02-2014 ( dd-mmyyyy)
  50. */
  51. virtual void restore ( std::istream & is, int format = 0 );
  52. /**
  53. * @brief Save object to external file (stream)
  54. * @author Alexander Freytag
  55. * @date 10-02-2014 ( dd-mmyyyy)
  56. */
  57. virtual void store( std::ostream & os, int format = 0 ) const;
  58. /**
  59. * @brief Clear object
  60. * @author Alexander Freytag
  61. * @date 10-02-2014 ( dd-mmyyyy)
  62. */
  63. virtual void clear ();
  64. };
  65. } // namespace
  66. #endif