X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;ds=sidebyside;f=include%2FMultiTracker.h;h=66ea04e12bc16a01a522239a99c012abaaa2af30;hb=b8f65122758fbbecdb5574acfbca01fe8303c179;hp=190225d55c3f76a736f61da11faa848e119d630f;hpb=3aa517d206c44156fe86697aeadc5f75ea212329;p=trackerpp.git diff --git a/include/MultiTracker.h b/include/MultiTracker.h index 190225d..66ea04e 100644 --- a/include/MultiTracker.h +++ b/include/MultiTracker.h @@ -6,36 +6,43 @@ #include "SharedPtr.h" #include "PredictorWrapper.h" #include +#include +#include "Engine.h" namespace suanzi { TK_DECLARE_PTR(Patch); TK_DECLARE_PTR(MultiTracker); TK_DECLARE_PTR(Tracker); + TK_DECLARE_PTR(Engine); class MultiTracker { public: - MultiTracker(); + MultiTracker(EngineWPtr e); virtual ~MultiTracker(); void update(unsigned int total, const Detection* d, const cv::Mat& image); private: std::vector trackers; int max_id = 0; - PatchPtr createPatch(const cv::Mat& image); + PatchPtr createPatch(const cv::Mat& image, const Detection& d); double distance(TrackerPtr t, const cv::Mat& image, const Detection& d); PredictorWrapperPtr predictor; cv::HOGDescriptor descriptor; + EngineWPtr engine; }; class Patch { public: ~Patch(){}; - // bb_ltrb cv::Mat image_crop; - std::vector features; + //std::vector features; + // hog is a hog descriptor of the image (calculated by hog.compute. size is 3780 ) + // hue is a histogram of the image, (calcHist(), is a Mat with (width x height) 64 x 45) + std::pair, cv::Mat> features; + Detection detection; protected: friend class MultiTracker; Patch(){};