From ee63cd2e38802c023f7422581106851ce06a98d5 Mon Sep 17 00:00:00 2001 From: Scott Klum Date: Mon, 15 Feb 2016 18:45:09 -0500 Subject: [PATCH] minNeighbors was actually rect class count --- openbr/core/opencvutils.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/openbr/core/opencvutils.cpp b/openbr/core/opencvutils.cpp index 0dbe2ef..e3e172f 100644 --- a/openbr/core/opencvutils.cpp +++ b/openbr/core/opencvutils.cpp @@ -448,7 +448,7 @@ void OpenCVUtils::group(QList &rects, QList &confidences, float con vector rrects(nClasses); // Total number of rects in each class - vector neighbors(nClasses, 0); + vector neighbors(nClasses, -1); vector classConfidence(nClasses, useMax ? -std::numeric_limits::max() : 0); for (size_t i = 0; i < labels.size(); i++) @@ -465,12 +465,14 @@ void OpenCVUtils::group(QList &rects, QList &confidences, float con // Find average rectangle for all classes for (int i = 0; i < nClasses; i++) { - Rect r = rrects[i]; - float s = 1.f/neighbors[i]; - rrects[i] = Rect(saturate_cast(r.x*s), - saturate_cast(r.y*s), - saturate_cast(r.width*s), - saturate_cast(r.height*s)); + if (neighbors[i] > 0) { + Rect r = rrects[i]; + float s = 1.f/(neighbors[i]+1); + rrects[i] = Rect(saturate_cast(r.x*s), + saturate_cast(r.y*s), + saturate_cast(r.width*s), + saturate_cast(r.height*s)); + } } rects.clear(); -- libgit2 0.21.4