Commit c19e8b53d898cfc915826cadeeb30101f6f64b16
1 parent
508e802a
Append detections as rects and pass full Template
Showing
1 changed file
with
7 additions
and
8 deletions
openbr/plugins/slidingwindow.cpp
| @@ -74,23 +74,22 @@ private: | @@ -74,23 +74,22 @@ private: | ||
| 74 | 74 | ||
| 75 | void project(const Template &src, Template &dst) const | 75 | void project(const Template &src, Template &dst) const |
| 76 | { | 76 | { |
| 77 | + dst = src; | ||
| 77 | // no need to slide a window over ground truth data | 78 | // no need to slide a window over ground truth data |
| 78 | - if (src.file.getBool("Train", false)) { | ||
| 79 | - dst = src; | ||
| 80 | - return; | ||
| 81 | - } | 79 | + if (src.file.getBool("Train", false)) return; |
| 82 | 80 | ||
| 83 | - dst.file = src.file; | 81 | + dst.file.clearRects(); |
| 84 | int rows = src.m().rows, cols = src.m().cols; | 82 | int rows = src.m().rows, cols = src.m().cols; |
| 85 | for (double size=std::min(rows, cols); size>=minSize; size*=scaleFactor) { | 83 | for (double size=std::min(rows, cols); size>=minSize; size*=scaleFactor) { |
| 86 | for (double y=0; y+size<rows; y+=(size*stepSize)) { | 84 | for (double y=0; y+size<rows; y+=(size*stepSize)) { |
| 87 | for (double x=0; x+size<cols; x+=(size*stepSize)) { | 85 | for (double x=0; x+size<cols; x+=(size*stepSize)) { |
| 88 | - Template window(src.file, Mat(src.m(), Rect(x, y, size, size))); | 86 | + Rect window(x, y, size, size); |
| 87 | + Template windowMat(src.file, Mat(src.m(), window)); | ||
| 89 | Template detect; | 88 | Template detect; |
| 90 | - transform->project(window, detect); | 89 | + transform->project(windowMat, detect); |
| 91 | // the result will be in the Label | 90 | // the result will be in the Label |
| 92 | if (detect.file.get<QString>(QString("Label")) == "pos") { | 91 | if (detect.file.get<QString>(QString("Label")) == "pos") { |
| 93 | - dst += detect; | 92 | + dst.file.appendRect(OpenCVUtils::fromRect(window)); |
| 94 | if (takeLargestScale) return; | 93 | if (takeLargestScale) return; |
| 95 | } | 94 | } |
| 96 | } | 95 | } |