mirror of
https://github.com/opencv/opencv_contrib.git
synced 2025-10-18 08:44:11 +08:00
Tracking-Learning-Detection and MedianFlow
This contribution includes the following logical components into tracking module: .) Change Rect to Rect2d into headers for Tracker's methods; This contribution includes the following logical components into tracking module: .) Change Rect to Rect2d into headers for Tracker's methods; .) MedianFlow tracker; .) extensible benchmark to compare trackers interactively and assess them quantitatively; .) TLD tracker (work-in-progress); Work was funded by Google Summer of Code 2014 initiative. Mentors: Gary Bradski and Vadim Pisarevsky.
This commit is contained in:
@@ -1005,6 +1005,58 @@ class CV_EXPORTS_W TrackerBoosting : public Tracker
|
||||
|
||||
BOILERPLATE_CODE("BOOSTING",TrackerBoosting);
|
||||
};
|
||||
|
||||
/**
|
||||
\brief Median Flow tracker implementation.
|
||||
Implementation of a paper "Forward-Backward Error: Automatic Detection of Tracking Failures" by Z. Kalal, K. Mikolajczyk
|
||||
and Jiri Matas.
|
||||
*/
|
||||
class CV_EXPORTS_W TrackerMedianFlow : public Tracker
|
||||
{
|
||||
public:
|
||||
struct CV_EXPORTS Params
|
||||
{
|
||||
Params();
|
||||
int pointsInGrid;
|
||||
void read( const FileNode& /*fn*/ );
|
||||
void write( FileStorage& /*fs*/ ) const;
|
||||
};
|
||||
|
||||
TrackerMedianFlow( const TrackerMedianFlow::Params ¶meters = TrackerMedianFlow::Params() );
|
||||
virtual ~TrackerMedianFlow();
|
||||
void read( const FileNode& fn );
|
||||
void write( FileStorage& fs ) const;
|
||||
|
||||
protected:
|
||||
bool initImpl( const Mat& image, const Rect2d& boundingBox );
|
||||
bool updateImpl( const Mat& image, Rect2d& boundingBox );
|
||||
Params params;
|
||||
AlgorithmInfo* info() const;
|
||||
};
|
||||
|
||||
class CV_EXPORTS_W TrackerTLD : public Tracker
|
||||
{
|
||||
public:
|
||||
struct CV_EXPORTS Params
|
||||
{
|
||||
Params();
|
||||
void read( const FileNode& /*fn*/ );
|
||||
void write( FileStorage& /*fs*/ ) const;
|
||||
};
|
||||
|
||||
TrackerTLD( const TrackerTLD::Params ¶meters = TrackerTLD::Params() );
|
||||
virtual ~TrackerTLD();
|
||||
void read( const FileNode& fn );
|
||||
void write( FileStorage& fs ) const;
|
||||
class Private{public: virtual ~Private(){}};
|
||||
|
||||
protected:
|
||||
bool initImpl( const Mat& image, const Rect2d& boundingBox );
|
||||
bool updateImpl( const Mat& image, Rect2d& boundingBox );
|
||||
Params params;
|
||||
std::vector<Ptr<Private> > privateInfo;
|
||||
AlgorithmInfo* info() const;
|
||||
};
|
||||
} /* namespace cv */
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user