Commit 95076d7e8a9451b47d3a8222bb14d728dfeb2288
1 parent
7693fd5f
Exposed scale factor
Showing
1 changed file
with
7 additions
and
5 deletions
openbr/plugins/metadata/cascade.cpp
| ... | ... | @@ -202,7 +202,8 @@ class CascadeTransform : public MetaTransform |
| 202 | 202 | Q_PROPERTY(int minSize READ get_minSize WRITE set_minSize RESET reset_minSize STORED false) |
| 203 | 203 | Q_PROPERTY(int minNeighbors READ get_minNeighbors WRITE set_minNeighbors RESET reset_minNeighbors STORED false) |
| 204 | 204 | Q_PROPERTY(bool ROCMode READ get_ROCMode WRITE set_ROCMode RESET reset_ROCMode STORED false) |
| 205 | - | |
| 205 | + Q_PROPERTY(float scaleFactor READ get_scaleFactor WRITE set_scaleFactor RESET reset_scaleFactor STORED false) | |
| 206 | + | |
| 206 | 207 | // Training parameters |
| 207 | 208 | Q_PROPERTY(int numStages READ get_numStages WRITE set_numStages RESET reset_numStages STORED false) |
| 208 | 209 | Q_PROPERTY(int w READ get_w WRITE set_w RESET reset_w STORED false) |
| ... | ... | @@ -227,7 +228,8 @@ class CascadeTransform : public MetaTransform |
| 227 | 228 | BR_PROPERTY(int, minSize, 64) |
| 228 | 229 | BR_PROPERTY(int, minNeighbors, 5) |
| 229 | 230 | BR_PROPERTY(bool, ROCMode, false) |
| 230 | - | |
| 231 | + BR_PROPERTY(float, scaleFactor, 1.2) | |
| 232 | + | |
| 231 | 233 | // Training parameters - Default values provided trigger OpenCV defaults |
| 232 | 234 | BR_PROPERTY(int, numStages, -1) |
| 233 | 235 | BR_PROPERTY(int, w, -1) |
| ... | ... | @@ -410,8 +412,8 @@ class CascadeTransform : public MetaTransform |
| 410 | 412 | std::vector<Rect> rects; |
| 411 | 413 | std::vector<int> rejectLevels; |
| 412 | 414 | std::vector<double> levelWeights; |
| 413 | - if (ROCMode) cascade->detectMultiScale(m, rects, rejectLevels, levelWeights, 1.2, minNeighbors, flags | CASCADE_SCALE_IMAGE, Size(minSize, minSize), Size(), true); | |
| 414 | - else cascade->detectMultiScale(m, rects, 1.2, minNeighbors, flags, Size(minSize, minSize)); | |
| 415 | + if (ROCMode) cascade->detectMultiScale(m, rects, rejectLevels, levelWeights, scaleFactor, minNeighbors, flags | CASCADE_SCALE_IMAGE, Size(minSize, minSize), Size(), true); | |
| 416 | + else cascade->detectMultiScale(m, rects, scaleFactor, minNeighbors, flags, Size(minSize, minSize)); | |
| 415 | 417 | |
| 416 | 418 | // It appears that flags is ignored for new model files: |
| 417 | 419 | // http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale |
| ... | ... | @@ -437,7 +439,7 @@ class CascadeTransform : public MetaTransform |
| 437 | 439 | u.file.set("Confidence",-std::numeric_limits<float>::max()); |
| 438 | 440 | } else if (rejectLevels.size() > j) |
| 439 | 441 | u.file.set("Confidence", rejectLevels[j]*levelWeights[j]); |
| 440 | - else | |
| 442 | + else | |
| 441 | 443 | u.file.set("Confidence", rects[j].area()); |
| 442 | 444 | const QRectF rect = OpenCVUtils::fromRect(rects[j]); |
| 443 | 445 | u.file.appendRect(rect); | ... | ... |