Commit ec4f90127fc64dd6ac20a4a3ba8fc97438bd6fda
1 parent
a7d69022
Fixed { locations
Showing
1 changed file
with
18 additions
and
9 deletions
openbr/plugins/cascade.cpp
| ... | ... | @@ -23,7 +23,8 @@ |
| 23 | 23 | |
| 24 | 24 | using namespace cv; |
| 25 | 25 | |
| 26 | -struct TrainParams{ | |
| 26 | +struct TrainParams | |
| 27 | +{ | |
| 27 | 28 | QString data; // REQUIRED: Filepath to store trained classifier |
| 28 | 29 | QString vec; // REQUIRED: Filepath to store vector of positive samples, default "vector" |
| 29 | 30 | QString img; // Filepath to source object image. Either this or info is REQUIRED |
| ... | ... | @@ -57,7 +58,8 @@ struct TrainParams{ |
| 57 | 58 | int maxWeakCount; // Max weak tree count per stage |
| 58 | 59 | QString mode; // Haar feature mode (BASIC, CORE, ALL) |
| 59 | 60 | |
| 60 | - TrainParams(){ | |
| 61 | + TrainParams() | |
| 62 | + { | |
| 61 | 63 | num = -1; |
| 62 | 64 | maxidev = -1; |
| 63 | 65 | maxxangle = -1; |
| ... | ... | @@ -85,7 +87,8 @@ struct TrainParams{ |
| 85 | 87 | } |
| 86 | 88 | }; |
| 87 | 89 | |
| 88 | -QString buildTrainingArgs(TrainParams params){ | |
| 90 | +QString buildTrainingArgs(TrainParams params) | |
| 91 | +{ | |
| 89 | 92 | QString args = ""; |
| 90 | 93 | if (params.data != "") args += "-data " + params.data + " "; |
| 91 | 94 | else return ""; |
| ... | ... | @@ -116,7 +119,8 @@ QString buildTrainingArgs(TrainParams params){ |
| 116 | 119 | } |
| 117 | 120 | |
| 118 | 121 | |
| 119 | -QString buildSampleArgs(TrainParams params){ | |
| 122 | +QString buildSampleArgs(TrainParams params) | |
| 123 | +{ | |
| 120 | 124 | QString args = ""; |
| 121 | 125 | if (params.vec != "") args += "-vec "+params.vec+" "; |
| 122 | 126 | else return ""; |
| ... | ... | @@ -139,7 +143,8 @@ QString buildSampleArgs(TrainParams params){ |
| 139 | 143 | return args; |
| 140 | 144 | } |
| 141 | 145 | |
| 142 | -void execCommand(QString cmd, QString args){ | |
| 146 | +void execCommand(QString cmd, QString args) | |
| 147 | +{ | |
| 143 | 148 | #ifdef _WIN32 |
| 144 | 149 | cmd += ".exe"; |
| 145 | 150 | #endif |
| ... | ... | @@ -147,21 +152,24 @@ void execCommand(QString cmd, QString args){ |
| 147 | 152 | system(cmd.toLocal8Bit().data()); |
| 148 | 153 | } |
| 149 | 154 | |
| 150 | -void genSamples(TrainParams params, QString argStr = ""){ | |
| 155 | +void genSamples(TrainParams params, QString argStr = "") | |
| 156 | +{ | |
| 151 | 157 | QString cmdArgs = buildSampleArgs(params); |
| 152 | 158 | if (argStr != "") cmdArgs += " " + argStr; |
| 153 | 159 | execCommand("opencv_createsamples",cmdArgs); |
| 154 | 160 | } |
| 155 | 161 | |
| 156 | 162 | |
| 157 | -void trainCascade(TrainParams params,QString argStr = ""){ | |
| 163 | +void trainCascade(TrainParams params,QString argStr = "") | |
| 164 | +{ | |
| 158 | 165 | QString cmdArgs = buildTrainingArgs(params); |
| 159 | 166 | if (argStr != "") cmdArgs += " " + argStr; |
| 160 | 167 | |
| 161 | 168 | execCommand("opencv_traincascade", cmdArgs); |
| 162 | 169 | } |
| 163 | 170 | |
| 164 | -QString rectToString(QRectF r){ | |
| 171 | +QString rectToString(QRectF r) | |
| 172 | +{ | |
| 165 | 173 | QString out = " " + QString::number(r.x()) + " " + QString::number(r.y()) + " " + QString::number(r.width()) + " "+ QString::number(r.height()); |
| 166 | 174 | return out; |
| 167 | 175 | } |
| ... | ... | @@ -276,7 +284,8 @@ class CascadeTransform : public MetaTransform |
| 276 | 284 | } |
| 277 | 285 | |
| 278 | 286 | // Train transform |
| 279 | - void train(const TemplateList& data){ | |
| 287 | + void train(const TemplateList& data) | |
| 288 | + { | |
| 280 | 289 | if (overwrite){ |
| 281 | 290 | QDir dataDir(model); |
| 282 | 291 | if (dataDir.exists()){ | ... | ... |