summaryrefslogtreecommitdiffhomepage
path: root/tracker-pt/point_extractor.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-07-19 08:10:42 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-07-19 08:10:42 +0200
commit0b6289589656e957c070d46b65ef4e93707324f3 (patch)
tree0131cca6948035c1281a261fe8666013558e144d /tracker-pt/point_extractor.cpp
parent223ff7abf556d7af4b1aeb63a4dc1664fd9d6161 (diff)
tracker/pt: reduce locking
Diffstat (limited to 'tracker-pt/point_extractor.cpp')
-rw-r--r--tracker-pt/point_extractor.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/tracker-pt/point_extractor.cpp b/tracker-pt/point_extractor.cpp
index 9dc1df6d..b12c139a 100644
--- a/tracker-pt/point_extractor.cpp
+++ b/tracker-pt/point_extractor.cpp
@@ -22,10 +22,9 @@
PointExtractor::PointExtractor()
{
blobs.reserve(max_blobs);
- points.reserve(max_blobs);
}
-const std::vector<PointExtractor::vec2>& PointExtractor::extract_points(cv::Mat& frame)
+void PointExtractor::extract_points(cv::Mat& frame, std::vector<PointExtractor::vec2>& points)
{
const int W = frame.cols;
const int H = frame.rows;
@@ -149,7 +148,7 @@ const std::vector<PointExtractor::vec2>& PointExtractor::extract_points(cv::Mat&
std::sort(blobs.begin(), blobs.end(), [](const blob& b1, const blob& b2) -> bool { return b2.radius < b1.radius; });
- QMutexLocker l(&mtx);
+ points.reserve(max_blobs);
points.clear();
for (auto& b : blobs)
@@ -157,5 +156,4 @@ const std::vector<PointExtractor::vec2>& PointExtractor::extract_points(cv::Mat&
vec2 p((b.pos[0] - W/2)/W, -(b.pos[1] - H/2)/W);
points.push_back(p);
}
- return points;
}