Changed DetectionBasedTracker a bit to make its method addObject to return an integer value -- the id of the new added object.

This commit is contained in:
Leonid Beynenson 2012-07-09 14:37:12 +00:00
parent d9478252e9
commit 6d3db49932
2 changed files with 8 additions and 5 deletions

View File

@ -83,14 +83,14 @@ class DetectionBasedTracker
virtual void process(const cv::Mat& imageGray);
bool setParameters(const Parameters& params);
const Parameters& getParameters();
const Parameters& getParameters() const;
typedef std::pair<cv::Rect, int> Object;
virtual void getObjects(std::vector<cv::Rect>& 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:
class SeparateDetectionWork;

View File

@ -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);
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
@ -847,7 +850,7 @@ bool cv::DetectionBasedTracker::setParameters(const Parameters& params)
return true;
}
const cv::DetectionBasedTracker::Parameters& DetectionBasedTracker::getParameters()
const cv::DetectionBasedTracker::Parameters& DetectionBasedTracker::getParameters() const
{
return parameters;
}