GSCluster.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. * @file GSCluster.h
  3. * @brief Generate Signature by Clustering Local Features (image-specific codebook!). The class can be used for the EMD kernel, but not for usual BoV approaches.
  4. * @author Erik Rodner
  5. * @date 10/30/2007
  6. */
  7. #ifndef GSCLUSTERINCLUDE
  8. #define GSCLUSTERINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "GenerateSignature.h"
  12. #include "ClusterAlgorithm.h"
  13. namespace OBJREC {
  14. /**
  15. * @class GSCluster
  16. * @brief Generate Signature by Clustering Local Features (image-specific codebook!).
  17. * The class can be used for the EMD kernel, but not for usual BoV approaches.
  18. * @author Erik Rodner
  19. */
  20. class GSCluster : public GenerateSignature
  21. {
  22. protected:
  23. int c_no_clusters;
  24. ClusterAlgorithm *clualg;
  25. public:
  26. /** standard constructor
  27. * @param conf config file specifying all relevant variable settings. You should specify in "section" the string "cluster_method"
  28. * @param _section name of the section within the configfile where the settings can be found. Default: GSCluster
  29. * @param[in]
  30. */
  31. GSCluster( const NICE::Config *conf, const std::string & _section = "GSCluster" );
  32. /** simple destructor */
  33. virtual ~GSCluster();
  34. void signature ( const NICE::VVector & features,
  35. NICE::Vector & signature );
  36. };
  37. } // namespace
  38. #endif