diff --git a/modules/tracking/include/opencv2/tracking/tracker.hpp b/modules/tracking/include/opencv2/tracking/tracker.hpp index 37545bfee..aa1c5fd76 100644 --- a/modules/tracking/include/opencv2/tracking/tracker.hpp +++ b/modules/tracking/include/opencv2/tracking/tracker.hpp @@ -1522,7 +1522,7 @@ public: CV_WRAP static Ptr create(); - virtual void setInitialMask(const Mat mask) = 0; + CV_WRAP virtual void setInitialMask(InputArray mask) = 0; virtual ~TrackerCSRT() CV_OVERRIDE {} }; diff --git a/modules/tracking/src/trackerCSRT.cpp b/modules/tracking/src/trackerCSRT.cpp index d34b8562b..0b5e0a9c4 100644 --- a/modules/tracking/src/trackerCSRT.cpp +++ b/modules/tracking/src/trackerCSRT.cpp @@ -35,7 +35,7 @@ protected: TrackerCSRT::Params params; bool initImpl(const Mat& image, const Rect2d& boundingBox) CV_OVERRIDE; - virtual void setInitialMask(const Mat mask) CV_OVERRIDE; + virtual void setInitialMask(InputArray mask) CV_OVERRIDE; bool updateImpl(const Mat& image, Rect2d& boundingBox) CV_OVERRIDE; void update_csr_filter(const Mat &image, const Mat &my_mask); void update_histograms(const Mat &image, const Rect ®ion); @@ -99,9 +99,9 @@ void TrackerCSRTImpl::write(cv::FileStorage& fs) const params.write(fs); } -void TrackerCSRTImpl::setInitialMask(const Mat mask) +void TrackerCSRTImpl::setInitialMask(InputArray mask) { - preset_mask = mask; + preset_mask = mask.getMat(); } bool TrackerCSRTImpl::check_mask_area(const Mat &mat, const double obj_area)