Commit 6d3db499 authored by Leonid Beynenson's avatar Leonid Beynenson

Changed DetectionBasedTracker a bit to make its method addObject to return an…

Changed DetectionBasedTracker a bit to make its method addObject to return an integer value -- the id of the new added object.
parent d9478252
...@@ -83,14 +83,14 @@ class DetectionBasedTracker ...@@ -83,14 +83,14 @@ class DetectionBasedTracker
virtual void process(const cv::Mat& imageGray); virtual void process(const cv::Mat& imageGray);
bool setParameters(const Parameters& params); bool setParameters(const Parameters& params);
const Parameters& getParameters(); const Parameters& getParameters() const;
typedef std::pair<cv::Rect, int> Object; typedef std::pair<cv::Rect, int> Object;
virtual void getObjects(std::vector<cv::Rect>& result) const; virtual void getObjects(std::vector<cv::Rect>& result) const;
virtual void getObjects(std::vector<Object>& result) const; virtual void getObjects(std::vector<Object>& result) const;
virtual void addObject(const cv::Rect& location); virtual int addObject(const cv::Rect& location); //returns id of the new object
protected: protected:
class SeparateDetectionWork; class SeparateDetectionWork;
......
...@@ -706,10 +706,13 @@ void cv::DetectionBasedTracker::updateTrackedObjects(const vector<Rect>& detecte ...@@ -706,10 +706,13 @@ void cv::DetectionBasedTracker::updateTrackedObjects(const vector<Rect>& detecte
} }
} }
void cv::DetectionBasedTracker::addObject(const Rect& location) int cv::DetectionBasedTracker::addObject(const Rect& location)
{ {
LOGD("DetectionBasedTracker::addObject: new object {%d, %d %dx%d}",location.x, location.y, location.width, location.height); LOGD("DetectionBasedTracker::addObject: new object {%d, %d %dx%d}",location.x, location.y, location.width, location.height);
trackedObjects.push_back(location); trackedObjects.push_back(TrackedObject(location));
int newId = trackedObjects.back().id;
LOGD("DetectionBasedTracker::addObject: newId = %d", newId);
return newId;
} }
Rect cv::DetectionBasedTracker::calcTrackedObjectPositionToShow(int i) const Rect cv::DetectionBasedTracker::calcTrackedObjectPositionToShow(int i) const
...@@ -847,7 +850,7 @@ bool cv::DetectionBasedTracker::setParameters(const Parameters& params) ...@@ -847,7 +850,7 @@ bool cv::DetectionBasedTracker::setParameters(const Parameters& params)
return true; return true;
} }
const cv::DetectionBasedTracker::Parameters& DetectionBasedTracker::getParameters() const cv::DetectionBasedTracker::Parameters& DetectionBasedTracker::getParameters() const
{ {
return parameters; return parameters;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment