diff options
Diffstat (limited to '2.3-1/thirdparty/raspberrypi/includes/opencv2/contrib/detection_based_tracker.hpp')
-rw-r--r-- | 2.3-1/thirdparty/raspberrypi/includes/opencv2/contrib/detection_based_tracker.hpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/2.3-1/thirdparty/raspberrypi/includes/opencv2/contrib/detection_based_tracker.hpp b/2.3-1/thirdparty/raspberrypi/includes/opencv2/contrib/detection_based_tracker.hpp deleted file mode 100644 index 56aa1ccb..00000000 --- a/2.3-1/thirdparty/raspberrypi/includes/opencv2/contrib/detection_based_tracker.hpp +++ /dev/null @@ -1,106 +0,0 @@ -#pragma once - -#if defined(__linux__) || defined(LINUX) || defined(__APPLE__) || defined(ANDROID) - -#include <opencv2/core/core.hpp> -#include <opencv2/objdetect/objdetect.hpp> - -#include <vector> - -class DetectionBasedTracker -{ - public: - struct Parameters - { - int minObjectSize; - int maxObjectSize; - double scaleFactor; - int maxTrackLifetime; - int minNeighbors; - int minDetectionPeriod; //the minimal time between run of the big object detector (on the whole frame) in ms (1000 mean 1 sec), default=0 - - Parameters(); - }; - - DetectionBasedTracker(const std::string& cascadeFilename, const Parameters& params); - virtual ~DetectionBasedTracker(); - - virtual bool run(); - virtual void stop(); - virtual void resetTracking(); - - virtual void process(const cv::Mat& imageGray); - - bool setParameters(const Parameters& params); - const Parameters& getParameters(); - - - typedef std::pair<cv::Rect, int> Object; - virtual void getObjects(std::vector<cv::Rect>& result) const; - virtual void getObjects(std::vector<Object>& result) const; - - protected: - class SeparateDetectionWork; - cv::Ptr<SeparateDetectionWork> separateDetectionWork; - friend void* workcycleObjectDetectorFunction(void* p); - - - struct InnerParameters - { - int numLastPositionsToTrack; - int numStepsToWaitBeforeFirstShow; - int numStepsToTrackWithoutDetectingIfObjectHasNotBeenShown; - int numStepsToShowWithoutDetecting; - - float coeffTrackingWindowSize; - float coeffObjectSizeToTrack; - float coeffObjectSpeedUsingInPrediction; - - InnerParameters(); - }; - Parameters parameters; - InnerParameters innerParameters; - - struct TrackedObject - { - typedef std::vector<cv::Rect> PositionsVector; - - PositionsVector lastPositions; - - int numDetectedFrames; - int numFramesNotDetected; - int id; - - TrackedObject(const cv::Rect& rect):numDetectedFrames(1), numFramesNotDetected(0) - { - lastPositions.push_back(rect); - id=getNextId(); - }; - - static int getNextId() - { - static int _id=0; - return _id++; - } - }; - - int numTrackedSteps; - std::vector<TrackedObject> trackedObjects; - - std::vector<float> weightsPositionsSmoothing; - std::vector<float> weightsSizesSmoothing; - - cv::CascadeClassifier cascadeForTracking; - - - void updateTrackedObjects(const std::vector<cv::Rect>& detectedObjects); - cv::Rect calcTrackedObjectPositionToShow(int i) const; - void detectInRegion(const cv::Mat& img, const cv::Rect& r, std::vector<cv::Rect>& detectedObjectsInRegions); -}; - -namespace cv -{ - using ::DetectionBasedTracker; -} //end of cv namespace - -#endif |