Added possibility in the class DetectionBasedTracker to work as a tracker only -- without the mainDetector.

In this case new objects will be added into it by the method addObject(const cv::Rect& location).
This commit is contained in:
Leonid Beynenson
2012-06-28 16:07:10 +00:00
parent fd901d8323
commit 35344569bf
2 changed files with 38 additions and 14 deletions

View File

@@ -30,7 +30,7 @@ class DetectionBasedTracker
scaleFactor(1.1f)
{}
virtual void detect(const cv::Mat& Image, std::vector<cv::Rect>& objects) = 0;
virtual void detect(const cv::Mat& image, std::vector<cv::Rect>& objects) = 0;
void setMinObjectSize(const cv::Size& min)
{
@@ -73,7 +73,7 @@ class DetectionBasedTracker
float scaleFactor;
};
DetectionBasedTracker(cv::Ptr<IDetector> MainDetector, cv::Ptr<IDetector> TrackingDetector, const Parameters& params);
DetectionBasedTracker(cv::Ptr<IDetector> mainDetector, cv::Ptr<IDetector> trackingDetector, const Parameters& params);
virtual ~DetectionBasedTracker();
virtual bool run();
@@ -90,6 +90,8 @@ class DetectionBasedTracker
virtual void getObjects(std::vector<cv::Rect>& result) const;
virtual void getObjects(std::vector<Object>& result) const;
virtual void addObject(const cv::Rect& location);
protected:
class SeparateDetectionWork;
cv::Ptr<SeparateDetectionWork> separateDetectionWork;