FCCodebookHistBin.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * @file FCCodebookHistBin.h
  3. * @brief create features with codebook
  4. * @author Erik Rodner
  5. * @date 02/05/2008
  6. */
  7. #ifndef FCCODEBOOKHISTBININCLUDE
  8. #define FCCODEBOOKHISTBININCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "core/basics/Config.h"
  12. #include "vislearning/features/fbase/FeatureFactory.h"
  13. #include "vislearning/features/localfeatures/LocalFeatureRepresentation.h"
  14. #include "Codebook.h"
  15. namespace OBJREC {
  16. /** create features with codebook */
  17. class FCCodebookHistBin : public FeatureFactory
  18. {
  19. protected:
  20. int n_method;
  21. const LocalFeatureRepresentation *lfrep;
  22. const Codebook *codebook;
  23. void calcHistogram ( const NICE::VVector & features,
  24. NICE::Vector & histogram );
  25. void calcHistogram ( const NICE::VVector & features,
  26. NICE::Vector & histogram,
  27. NICE::Matrix & assignments);
  28. void normalizeHistogram ( NICE::Vector & histogram );
  29. public:
  30. enum {
  31. NORMALIZE_RAW = 0,
  32. NORMALIZE_BINZERO,
  33. NORMALIZE_SUM,
  34. NORMALIZE_THRESH
  35. };
  36. /** simple constructor */
  37. FCCodebookHistBin( const NICE::Config *conf,
  38. const LocalFeatureRepresentation *lfrep,
  39. const std::string & normalizationMethod,
  40. const Codebook *codebook );
  41. /** simple destructor */
  42. virtual ~FCCodebookHistBin();
  43. int convert ( const NICE::Image & img, NICE::Vector & vec );
  44. int calcAssignments ( const NICE::VVector & features, NICE::Vector & vec, NICE::Matrix & assignments );
  45. void setNormalizationMethod ( int normalizationMethod );
  46. int getNormalizationMethod () const;
  47. };
  48. } // namespace
  49. #endif