Commit ab5f003bba75337c6129433117604a8957adfd21

Authored by Scott Klum
1 parent 282546e0

Fixed bug enrollAll bug in slidingwindow

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