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