Commit eb82968c31bf8416509252067d1b5793399344af

Authored by Scott Klum
Committed by GitHub
2 parents 2b9685ae b2423737

Merge pull request #509 from biometrics/boosted_forest_serialization_fix

Fixed boosted forest serialization
openbr/plugins/classification/boostedforest.cpp
... ... @@ -107,10 +107,11 @@ class BoostedForestClassifier : public Classifier
107 107 Q_PROPERTY(int maxDepth READ get_maxDepth WRITE set_maxDepth RESET reset_maxDepth STORED false)
108 108 Q_PROPERTY(int maxWeakCount READ get_maxWeakCount WRITE set_maxWeakCount RESET reset_maxWeakCount STORED false)
109 109 Q_PROPERTY(Type type READ get_type WRITE set_type RESET reset_type STORED false)
110   - Q_PROPERTY(QList<br::Node*> classifiers READ get_classifiers WRITE set_classifiers RESET reset_classifiers STORED false)
111 110 Q_PROPERTY(float threshold READ get_threshold WRITE set_threshold RESET reset_threshold STORED false)
112 111  
113 112 public:
  113 + QList<Node*> classifiers;
  114 +
114 115 enum Type { Discrete = CvBoost::DISCRETE,
115 116 Real = CvBoost::REAL,
116 117 Logit = CvBoost::LOGIT,
... ... @@ -123,7 +124,6 @@ private:
123 124 BR_PROPERTY(int, maxDepth, 1)
124 125 BR_PROPERTY(int, maxWeakCount, 100)
125 126 BR_PROPERTY(Type, type, Gentle)
126   - BR_PROPERTY(QList<br::Node*>, classifiers, QList<br::Node*>())
127 127 BR_PROPERTY(float, threshold, 0)
128 128  
129 129 void train(const TemplateList &data)
... ... @@ -221,6 +221,12 @@ private:
221 221 }
222 222 };
223 223  
  224 +QList<Node*> getClassifers(Classifier *classifier)
  225 +{
  226 + BoostedForestClassifier *boostedForest = static_cast<BoostedForestClassifier*>(classifier);
  227 + return boostedForest->classifiers;
  228 +}
  229 +
224 230 BR_REGISTER(Classifier, BoostedForestClassifier)
225 231  
226 232 } // namespace br
... ...
openbr/plugins/classification/cascade_classifier.cpp
... ... @@ -110,7 +110,7 @@ class CascadeClassifier : public Classifier
110 110 Q_PROPERTY(float maxFAR READ get_maxFAR WRITE set_maxFAR RESET reset_maxFAR STORED false)
111 111 Q_PROPERTY(bool requireAllStages READ get_requireAllStages WRITE set_requireAllStages RESET reset_requireAllStages STORED false)
112 112 Q_PROPERTY(int maxStage READ get_maxStage WRITE set_maxStage RESET reset_maxStage STORED false)
113   - Q_PROPERTY(QList<Classifier*> stages READ get_stages WRITE set_stages RESET reset_stages STORED false)
  113 + Q_PROPERTY(QList<br::Classifier*> stages READ get_stages WRITE set_stages RESET reset_stages STORED false)
114 114  
115 115 BR_PROPERTY(QString, stageDescription, "")
116 116 BR_PROPERTY(int, numStages, 20)
... ... @@ -119,7 +119,7 @@ class CascadeClassifier : public Classifier
119 119 BR_PROPERTY(float, maxFAR, pow(0.5, numStages))
120 120 BR_PROPERTY(bool, requireAllStages, false)
121 121 BR_PROPERTY(int, maxStage, -1)
122   - BR_PROPERTY(QList<Classifier*>, stages, QList<Classifier*>())
  122 + BR_PROPERTY(QList<br::Classifier*>, stages, QList<br::Classifier*>())
123 123  
124 124 TemplateList posImages, negImages;
125 125 TemplateList posSamples, negSamples;
... ...