44#ifndef OPENCV_OBJDETECT_DBT_HPP 
   45#define OPENCV_OBJDETECT_DBT_HPP 
   47#include <opencv2/core.hpp> 
   63            int minDetectionPeriod; 
 
   73                    maxObjSize(INT_MAX, INT_MAX),
 
   78                virtual void detect(
const cv::Mat& image, std::vector<cv::Rect>& objects) = 0;
 
   96                float getScaleFactor()
 
  100                void setScaleFactor(
float value)
 
  104                int getMinNeighbours()
 
  106                    return minNeighbours;
 
  108                void setMinNeighbours(
int value)
 
  110                    minNeighbours = value;
 
  126        virtual void resetTracking();
 
  128        virtual void process(
const cv::Mat& imageGray);
 
  134        typedef std::pair<cv::Rect, int> Object;
 
  135        virtual void getObjects(std::vector<cv::Rect>& result) 
const;
 
  136        virtual void getObjects(std::vector<Object>& result) 
const;
 
  140            DETECTED_NOT_SHOWN_YET,
 
  142            DETECTED_TEMPORARY_LOST,
 
  151                :id(_id), location(_location), status(_status)
 
  155        virtual void getObjects(std::vector<ExtObject>& result) 
const;
 
  158        virtual int addObject(
const cv::Rect& location); 
 
  161        class SeparateDetectionWork;
 
  163        friend void* workcycleObjectDetectorFunction(
void* p);
 
  167            int numLastPositionsToTrack;
 
  168            int numStepsToWaitBeforeFirstShow;
 
  169            int numStepsToTrackWithoutDetectingIfObjectHasNotBeenShown;
 
  170            int numStepsToShowWithoutDetecting;
 
  172            float coeffTrackingWindowSize;
 
  173            float coeffObjectSizeToTrack;
 
  174            float coeffObjectSpeedUsingInPrediction;
 
  183            typedef std::vector<cv::Rect> PositionsVector;
 
  185            PositionsVector lastPositions;
 
  187            int numDetectedFrames;
 
  188            int numFramesNotDetected;
 
  193                lastPositions.push_back(rect);
 
  197            static int getNextId()
 
  205        std::vector<TrackedObject> trackedObjects;
 
  207        std::vector<float> weightsPositionsSmoothing;
 
  208        std::vector<float> weightsSizesSmoothing;
 
  212        void updateTrackedObjects(
const std::vector<cv::Rect>& detectedObjects);
 
  213        cv::Rect calcTrackedObjectPositionToShow(
int i) 
const;
 
  214        cv::Rect calcTrackedObjectPositionToShow(
int i, ObjectStatus& status) 
const;
 
  215        void detectInRegion(
const cv::Mat& img, 
const cv::Rect& r, std::vector<cv::Rect>& detectedObjectsInRegions);
 
Definition: detection_based_tracker.hpp:69
 
Definition: detection_based_tracker.hpp:58
 
n-dimensional dense array class
Definition: mat.hpp:802
 
Template class for 2D rectangles
Definition: core/types.hpp:421
 
Template class for specifying the size of an image or rectangle.
Definition: core/types.hpp:316
 
CV_EXPORTS_W void max(InputArray src1, InputArray src2, OutputArray dst)
Calculates per-element maximum of two arrays or an array and a scalar.
 
CV_EXPORTS_W void min(InputArray src1, InputArray src2, OutputArray dst)
Calculates per-element minimum of two arrays or an array and a scalar.
 
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
 
Definition: detection_based_tracker.hpp:146
 
Definition: detection_based_tracker.hpp:166
 
Definition: detection_based_tracker.hpp:61
 
Definition: detection_based_tracker.hpp:182
 
Definition: cvstd_wrapper.hpp:74