Commit 95076d7e8a9451b47d3a8222bb14d728dfeb2288

Authored by Scott Klum
1 parent 7693fd5f

Exposed scale factor

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);