Commit eb82968c31bf8416509252067d1b5793399344af
Committed by
GitHub
Merge pull request #509 from biometrics/boosted_forest_serialization_fix
Fixed boosted forest serialization
Showing
2 changed files
with
10 additions
and
4 deletions
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; | ... | ... |