Commit 857be2577cc18cefc8386cab7d52e0b06efe5f17
1 parent
02f50481
Exposed minNeighbors parameter in Viola Jones detector
Showing
1 changed file
with
4 additions
and
2 deletions
openbr/plugins/cascade.cpp
| ... | ... | @@ -199,6 +199,7 @@ class CascadeTransform : public MetaTransform |
| 199 | 199 | Q_OBJECT |
| 200 | 200 | Q_PROPERTY(QString model READ get_model WRITE set_model RESET reset_model STORED false) |
| 201 | 201 | Q_PROPERTY(int minSize READ get_minSize WRITE set_minSize RESET reset_minSize STORED false) |
| 202 | + Q_PROPERTY(int minNeighbors READ get_minNeighbors WRITE set_minNeighbors RESET reset_minNeighbors STORED false) | |
| 202 | 203 | Q_PROPERTY(bool ROCMode READ get_ROCMode WRITE set_ROCMode RESET reset_ROCMode STORED false) |
| 203 | 204 | |
| 204 | 205 | // Training parameters |
| ... | ... | @@ -223,6 +224,7 @@ class CascadeTransform : public MetaTransform |
| 223 | 224 | |
| 224 | 225 | BR_PROPERTY(QString, model, "FrontalFace") |
| 225 | 226 | BR_PROPERTY(int, minSize, 64) |
| 227 | + BR_PROPERTY(int, minNeighbors, 5) | |
| 226 | 228 | BR_PROPERTY(bool, ROCMode, false) |
| 227 | 229 | |
| 228 | 230 | // Training parameters - Default values provided trigger OpenCV defaults |
| ... | ... | @@ -392,8 +394,8 @@ class CascadeTransform : public MetaTransform |
| 392 | 394 | std::vector<Rect> rects; |
| 393 | 395 | std::vector<int> rejectLevels; |
| 394 | 396 | std::vector<double> levelWeights; |
| 395 | - if (ROCMode) cascade->detectMultiScale(m, rects, rejectLevels, levelWeights, 1.2, 5, (enrollAll ? 0 : CASCADE_FIND_BIGGEST_OBJECT) | CASCADE_SCALE_IMAGE, Size(minSize, minSize), Size(), true); | |
| 396 | - else cascade->detectMultiScale(m, rects, 1.2, 5, enrollAll ? 0 : CASCADE_FIND_BIGGEST_OBJECT, Size(minSize, minSize)); | |
| 397 | + if (ROCMode) cascade->detectMultiScale(m, rects, rejectLevels, levelWeights, 1.2, minNeighbors, (enrollAll ? 0 : CASCADE_FIND_BIGGEST_OBJECT) | CASCADE_SCALE_IMAGE, Size(minSize, minSize), Size(), true); | |
| 398 | + else cascade->detectMultiScale(m, rects, 1.2, minNeighbors, enrollAll ? 0 : CASCADE_FIND_BIGGEST_OBJECT, Size(minSize, minSize)); | |
| 397 | 399 | |
| 398 | 400 | if (!enrollAll && rects.empty()) |
| 399 | 401 | rects.push_back(Rect(0, 0, m.cols, m.rows)); | ... | ... |