1 #ifndef MTF_SEARCH_METHOD_H 2 #define MTF_SEARCH_METHOD_H 4 #include "mtf/TrackerBase.h" 5 #include "mtf/Macros/common.h" 9 template<
class AM,
class SSM>
13 typedef typename AM::ParamType
AMParams;
14 typedef typename SSM::ParamType
SSMParams;
16 SearchMethod(
const AMParams *am_params,
const SSMParams *ssm_params) :
17 TrackerBase(), am(am_params), ssm(ssm_params),
19 cv_corners_mat.create(2, 4, CV_64FC1);
23 cv_corners_mat.create(2, 4, CV_64FC1);
27 void setImage(
const cv::Mat &img)
override{
30 const cv::Mat& getRegion()
override{
31 return cv_corners_mat;
35 void setRegion(
const cv::Mat& corners)
override{
36 ssm.setCorners(corners);
37 ssm.getCorners(cv_corners_mat);
40 using TrackerBase::initialize;
41 using TrackerBase::update;
42 using TrackerBase::setRegion;
44 virtual void setSPIMask(
const bool *_spi_mask){
46 am.setSPIMask(_spi_mask);
47 ssm.setSPIMask(_spi_mask);
49 virtual void clearSPIMask(){
54 virtual const bool* getSPIMask(){
57 virtual void setInitStatus(){
61 virtual void clearInitStatus(){
63 ssm.clearInitStatus();
66 virtual bool supportsSPI(){
return am.supportsSPI() && ssm.supportsSPI(); }
68 virtual int inputType()
const override{
return am.inputType(); }
71 virtual AM&
getAM() {
return am; }
72 virtual SSM& getSSM() {
return ssm; }
74 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
87 typedef typename SSM::ParamType
SSMParams;
90 TrackerBase(), ssm(ssm_params),
92 cv_corners_mat.create(2, 4, CV_64FC1);
96 const cv::Mat& getRegion()
override{
97 return cv_corners_mat;
101 void setRegion(
const cv::Mat& corners)
override{
102 ssm.setCorners(corners);
103 ssm.getCorners(cv_corners_mat);
105 virtual void setSPIMask(
const bool *_spi_mask){
106 spi_mask = _spi_mask;
107 ssm.setSPIMask(_spi_mask);
109 virtual void clearSPIMask(){
113 virtual const bool* getSPIMask(){
116 virtual bool supportsSPI(){
return ssm.supportsSPI(); }
117 virtual SSM& getSSM() {
return ssm; }
119 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
123 const bool *spi_mask;
Definition: StateSpaceModel.h:35
Definition: AMParams.h:12
virtual AM & getAM()
direct access to the underlying AM and SSM
Definition: SearchMethod.h:71
Definition: SearchMethod.h:10