diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2016-06-21 11:11:11 +0200 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-06-21 11:11:11 +0200 | 
| commit | f434ba5aa24870582059725e72f5595c839ad3e0 (patch) | |
| tree | ea3663949c8ea82a19648616da53ddded374d007 | |
| parent | cf09ec936348f1d59473cb50b35fe80addacfc44 (diff) | |
tracker/pt: adjust auto threshold max area size
| -rw-r--r-- | tracker-pt/point_extractor.cpp | 11 | ||||
| -rw-r--r-- | tracker-pt/point_extractor.h | 2 | 
2 files changed, 6 insertions, 7 deletions
diff --git a/tracker-pt/point_extractor.cpp b/tracker-pt/point_extractor.cpp index e27bd3c7..fb547ef6 100644 --- a/tracker-pt/point_extractor.cpp +++ b/tracker-pt/point_extractor.cpp @@ -59,7 +59,7 @@ const std::vector<cv::Vec2f>& PointExtractor::extract_points(cv::Mat& frame)          const int sz = hist.cols * hist.rows;          int val = 0;          int cnt = 0; -        constexpr int min_pixels = 400; +        constexpr int min_pixels = int(10 * 10 * 3 * pi);          const int pixels_to_include = std::max<int>(0, min_pixels * s.threshold / 255);          auto ptr = reinterpret_cast<const float*>(hist.ptr(0));          for (int i = sz-1; i >= 0; i--) @@ -132,22 +132,21 @@ const std::vector<cv::Vec2f>& PointExtractor::extract_points(cv::Mat& frame)          }          blobs.push_back(blob(radius, pos, confid)); -         +          if (blobs.size() == max_blobs)              break;      } -     +      using b = const blob;      std::sort(blobs.begin(), blobs.end(), [](b& b1, b& b2) {return b1.confid > b2.confid;}); -     +      QMutexLocker l(&mtx);      points.clear(); -     +      for (auto& b : blobs)      {          cv::Vec2f p((b.pos[0] - W/2)/W, -(b.pos[1] - H/2)/W);          points.push_back(p);      } -          return points;  } diff --git a/tracker-pt/point_extractor.h b/tracker-pt/point_extractor.h index b3fac38a..94948d34 100644 --- a/tracker-pt/point_extractor.h +++ b/tracker-pt/point_extractor.h @@ -25,7 +25,7 @@ public:      const std::vector<cv::Vec2f> &extract_points(cv::Mat &frame);      int get_n_points() { QMutexLocker l(&mtx); return points.size(); }      PointExtractor(); -     +      settings_pt s;  private:      static constexpr double pi = 3.14159265359;  | 
