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,7 +202,8 @@ class CascadeTransform : public MetaTransform | ||
| 202 | Q_PROPERTY(int minSize READ get_minSize WRITE set_minSize RESET reset_minSize STORED false) | 202 | Q_PROPERTY(int minSize READ get_minSize WRITE set_minSize RESET reset_minSize STORED false) |
| 203 | Q_PROPERTY(int minNeighbors READ get_minNeighbors WRITE set_minNeighbors RESET reset_minNeighbors STORED false) | 203 | Q_PROPERTY(int minNeighbors READ get_minNeighbors WRITE set_minNeighbors RESET reset_minNeighbors STORED false) |
| 204 | Q_PROPERTY(bool ROCMode READ get_ROCMode WRITE set_ROCMode RESET reset_ROCMode STORED false) | 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 | // Training parameters | 207 | // Training parameters |
| 207 | Q_PROPERTY(int numStages READ get_numStages WRITE set_numStages RESET reset_numStages STORED false) | 208 | Q_PROPERTY(int numStages READ get_numStages WRITE set_numStages RESET reset_numStages STORED false) |
| 208 | Q_PROPERTY(int w READ get_w WRITE set_w RESET reset_w STORED false) | 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,7 +228,8 @@ class CascadeTransform : public MetaTransform | ||
| 227 | BR_PROPERTY(int, minSize, 64) | 228 | BR_PROPERTY(int, minSize, 64) |
| 228 | BR_PROPERTY(int, minNeighbors, 5) | 229 | BR_PROPERTY(int, minNeighbors, 5) |
| 229 | BR_PROPERTY(bool, ROCMode, false) | 230 | BR_PROPERTY(bool, ROCMode, false) |
| 230 | - | 231 | + BR_PROPERTY(float, scaleFactor, 1.2) |
| 232 | + | ||
| 231 | // Training parameters - Default values provided trigger OpenCV defaults | 233 | // Training parameters - Default values provided trigger OpenCV defaults |
| 232 | BR_PROPERTY(int, numStages, -1) | 234 | BR_PROPERTY(int, numStages, -1) |
| 233 | BR_PROPERTY(int, w, -1) | 235 | BR_PROPERTY(int, w, -1) |
| @@ -410,8 +412,8 @@ class CascadeTransform : public MetaTransform | @@ -410,8 +412,8 @@ class CascadeTransform : public MetaTransform | ||
| 410 | std::vector<Rect> rects; | 412 | std::vector<Rect> rects; |
| 411 | std::vector<int> rejectLevels; | 413 | std::vector<int> rejectLevels; |
| 412 | std::vector<double> levelWeights; | 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 | // It appears that flags is ignored for new model files: | 418 | // It appears that flags is ignored for new model files: |
| 417 | // http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale | 419 | // http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale |
| @@ -437,7 +439,7 @@ class CascadeTransform : public MetaTransform | @@ -437,7 +439,7 @@ class CascadeTransform : public MetaTransform | ||
| 437 | u.file.set("Confidence",-std::numeric_limits<float>::max()); | 439 | u.file.set("Confidence",-std::numeric_limits<float>::max()); |
| 438 | } else if (rejectLevels.size() > j) | 440 | } else if (rejectLevels.size() > j) |
| 439 | u.file.set("Confidence", rejectLevels[j]*levelWeights[j]); | 441 | u.file.set("Confidence", rejectLevels[j]*levelWeights[j]); |
| 440 | - else | 442 | + else |
| 441 | u.file.set("Confidence", rects[j].area()); | 443 | u.file.set("Confidence", rects[j].area()); |
| 442 | const QRectF rect = OpenCVUtils::fromRect(rects[j]); | 444 | const QRectF rect = OpenCVUtils::fromRect(rects[j]); |
| 443 | u.file.appendRect(rect); | 445 | u.file.appendRect(rect); |