123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * @file VecClassifier.h
- * @brief Simple classification interface
- * @author Erik Rodner
- * @date 07.09.2007
- */
- #ifndef VecClassifierINCLUDE
- #define VecClassifierINCLUDE
- #include "core/basics/Persistent.h"
- #include "core/basics/Config.h"
- #include "vislearning/cbaselib/LabeledSet.h"
- #include "vislearning/cbaselib/ClassificationResult.h"
- #define ROADWORKS fthrow(NICE::Exception, "clone(): not yet implemented!");
- namespace OBJREC
- {
- /** Simple classification interface */
- class VecClassifier : public NICE::Persistent
- {
- protected:
- int maxClassNo;
- public:
- VecClassifier()
- {
- maxClassNo = 0;
- };
- /** simple constructor */
- VecClassifier ( const NICE::Config *conf );
- /** simple destructor */
- virtual ~VecClassifier();
- virtual void setMaxClassNo ( int maxClassNo );
- virtual int getMaxClassNo () const;
- /** classify using simple vector */
- virtual ClassificationResult classify ( const NICE::Vector & x ) const = 0;
- /** teach classifier with a labeled set of feature vectors */
- virtual void teach ( const LabeledSetVector & teachSet ) = 0;
- /** calculate classifier stuff as the last training step */
- virtual void finishTeaching() = 0;
- /** clone this object */
- virtual VecClassifier *clone ( void ) const
- {
- ROADWORKS;
- };
- };
- #undef ROADWORKS
- } // namespace
- #endif
|