FeaturePoolClassifier.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * @file FeaturePoolClassifier.h
  3. * @brief abstract interface for a classifier using feature selection
  4. * @author Erik Rodner
  5. * @date 04/21/2008
  6. */
  7. #ifndef FEATUREPOOLCLASSIFIERINCLUDE
  8. #define FEATUREPOOLCLASSIFIERINCLUDE
  9. #include "vislearning/cbaselib/FeaturePool.h"
  10. #include "vislearning/cbaselib/ClassificationResult.h"
  11. #include "vislearning/cbaselib/CachedExample.h"
  12. #include "vislearning/cbaselib/Example.h"
  13. #include "core/basics/Persistent.h"
  14. namespace OBJREC {
  15. /** abstract interface for a classifier using feature selection */
  16. class FeaturePoolClassifier : public NICE::Persistent
  17. {
  18. public:
  19. int maxClassNo;
  20. public:
  21. /** simple constructor */
  22. FeaturePoolClassifier( );
  23. /** simple destructor */
  24. virtual ~FeaturePoolClassifier();
  25. /** more comfortable classification functions for whole images */
  26. ClassificationResult classify ( const NICE::Image & img );
  27. ClassificationResult classifyRGB ( const NICE::ColorImage & img );
  28. void setMaxClassNo ( int classno );
  29. int getMaxClassNo () const;
  30. /** classification */
  31. virtual ClassificationResult classify ( Example & pe ) = 0;
  32. /** training process */
  33. virtual void train ( FeaturePool & fp, Examples & examples ) = 0;
  34. /** clone this object */
  35. virtual FeaturePoolClassifier *clone () const = 0;
  36. /** set complexity for the next training process e.g. number of weak classifiers */
  37. virtual void setComplexity ( int size );
  38. };
  39. } // namespace
  40. #endif