Commit ab5f003bba75337c6129433117604a8957adfd21
1 parent
282546e0
Fixed bug enrollAll bug in slidingwindow
Showing
1 changed file
with
19 additions
and
12 deletions
openbr/plugins/imgproc/slidingwindow.cpp
| @@ -187,22 +187,29 @@ class SlidingWindowTransform : public MetaTransform | @@ -187,22 +187,29 @@ class SlidingWindowTransform : public MetaTransform | ||
| 187 | confidences.append(maxConfidence); | 187 | confidences.append(maxConfidence); |
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | - if (!enrollAll && rects.empty()) { | ||
| 191 | - rects.append(Rect(0, 0, imageSize.width, imageSize.height)); | ||
| 192 | - confidences.append(-std::numeric_limits<float>::max()); | ||
| 193 | - } | ||
| 194 | - | ||
| 195 | const float minConfidence = t.file.get<float>("MinConfidence", this->minConfidence); | 190 | const float minConfidence = t.file.get<float>("MinConfidence", this->minConfidence); |
| 191 | + QList<QRectF> rectsAboveMinConfidence; | ||
| 192 | + QList<float> confidencesAboveMinConfidence; | ||
| 196 | for (int i=0; i<rects.size(); i++) { | 193 | for (int i=0; i<rects.size(); i++) { |
| 197 | - if (ROCMode || confidences[i] >= minConfidence || (!enrollAll && confidences[i] == -std::numeric_limits<float>::max())) { | ||
| 198 | - Template u = t; | ||
| 199 | - u.file.set("Confidence", confidences[i]); | ||
| 200 | - const QRectF rect = OpenCVUtils::fromRect(rects[i]); | ||
| 201 | - u.file.appendRect(rect); | ||
| 202 | - u.file.set(outputVariable, rect); | ||
| 203 | - dst.append(u); | 194 | + if (ROCMode || confidences[i] >= minConfidence) { |
| 195 | + rectsAboveMinConfidence.append(OpenCVUtils::fromRect(rects[i])); | ||
| 196 | + confidencesAboveMinConfidence.append(confidences[i]); | ||
| 204 | } | 197 | } |
| 205 | } | 198 | } |
| 199 | + | ||
| 200 | + if (!enrollAll && rectsAboveMinConfidence.isEmpty()) { | ||
| 201 | + rectsAboveMinConfidence.append(QRectF(0, 0, t.m().cols, t.m().rows)); | ||
| 202 | + confidencesAboveMinConfidence.append(-std::numeric_limits<float>::max()); | ||
| 203 | + } | ||
| 204 | + | ||
| 205 | + for (int i=0; i<rectsAboveMinConfidence.size(); i++) { | ||
| 206 | + Template u(t.file, t.m()); | ||
| 207 | + u.file.set("Confidence", confidencesAboveMinConfidence[i]); | ||
| 208 | + const QRectF rect = rectsAboveMinConfidence[i]; | ||
| 209 | + u.file.set(outputVariable, rect); | ||
| 210 | + u.file.appendRect(rect); | ||
| 211 | + dst.append(u); | ||
| 212 | + } | ||
| 206 | } | 213 | } |
| 207 | } | 214 | } |
| 208 | 215 |