44 #ifndef vpTemplateTracker_hh
45 #define vpTemplateTracker_hh
49 #include <visp3/tt/vpTemplateTrackerHeader.h>
50 #include <visp3/tt/vpTemplateTrackerZone.h>
51 #include <visp3/tt/vpTemplateTrackerWarp.h>
52 #include <visp3/core/vpImageFilter.h>
76 #ifndef DOXYGEN_SHOULD_SKIP_THIS
77 vpTemplateTrackerPointSuppMIInv *ptTemplateSupp;
78 vpTemplateTrackerPointSuppMIInv **ptTemplateSuppPyr;
163 : nbLvlPyr(0), l0Pyr(0), pyrInitialised(false), ptTemplate(NULL), ptTemplatePyr(NULL),
164 ptTemplateInit(false), templateSize(0), templateSizePyr(NULL), ptTemplateSelect(NULL),
165 ptTemplateSelectPyr(NULL), ptTemplateSelectInit(false), templateSelectSize(0),
166 ptTemplateSupp(NULL), ptTemplateSuppPyr(NULL), ptTemplateCompo(NULL), ptTemplateCompoPyr(NULL),
167 zoneTracked(NULL), zoneTrackedPyr(NULL), pyr_IDes(NULL), H(), Hdesire(), HdesirePyr(NULL),
168 HLM(), HLMdesire(), HLMdesirePyr(NULL), HLMdesireInverse(), HLMdesireInversePyr(NULL),
169 G(), gain(0), thresholdGradient(0), costFunctionVerification(false),
170 blur(false), useBrent(false), nbIterBrent(0), taillef(0), fgG(NULL), fgdG(NULL),
171 ratioPixelIn(0), mod_i(0), mod_j(0), nbParam(), lambdaDep(0), iterationMax(0),
172 iterationGlobale(0), diverge(false), nbIteration(0), useCompositionnal(false),
173 useInverse(false), Warp(NULL), p(), dp(), X1(), X2(), dW(), BI(), dIx(), dIy(), zoneRef_()
202 void initFromPoints(
const vpImage<unsigned char> &I,
const std::vector< vpImagePoint > &v_ip,
bool delaunay=
false);
210 void setGaussianFilterSize(
unsigned int new_taill);
231 void setPyramidal(
unsigned int nlevels=2,
unsigned int level_to_stop=1) {
233 l0Pyr = level_to_stop;
234 if(l0Pyr >= nlevels){
235 std::cout <<
"Warning: level_to_stop: " << level_to_stop <<
" higher than level_to_start: " << nlevels-1 <<
" (nlevels-1)" <<std::endl;
236 std::cout <<
"Level to stop put to: " << nlevels-1 << std::endl;
248 void setSampling(
int sample_i,
int sample_j){mod_i=sample_i; mod_j=sample_j;}
265 virtual void initPyramidal(
unsigned int nbLvl,
unsigned int l0);
bool ptTemplateSelectInit
Implementation of a matrix and operations on matrices.
void setSampling(int sample_i, int sample_j)
void setNbIterBrent(const unsigned int &b)
bool costFunctionVerification
unsigned int templateSelectSize
void getGaussianBluredImage(const vpImage< unsigned char > &I)
vpTemplateTrackerPoint * ptTemplate
vpTemplateTrackerPoint ** ptTemplatePyr
void setHDes(vpMatrix &tH)
Class to define colors available for display functionnalities.
void setIterationMax(const unsigned int &n)
vpMatrix * HLMdesireInversePyr
vpTemplateTracker()
Default constructor.
static const vpColor green
unsigned int templateSize
unsigned int iterationMax
vpTemplateTrackerZone * zoneTrackedPyr
static void filter(const vpImage< double > &I, vpImage< double > &Iu, vpImage< double > &Iv, const vpMatrix &M)
vpTemplateTrackerZone zoneRef_
unsigned int getNbParam() const
unsigned int getNbIteration() const
unsigned int iterationGlobale
double getRatioPixelIn() const
unsigned int * templateSizePyr
vpMatrix HLMdesireInverse
vpTemplateTrackerPointCompo * ptTemplateCompo
Implementation of column vector and the associated operations.
vpMatrix inverseByLU() const
vpTemplateTrackerZone * zoneTracked
bool ** ptTemplateSelectPyr
vpTemplateTrackerZone getZoneRef() const
vpImage< unsigned char > * pyr_IDes
void setp(const vpColVector &tp)
vpTemplateTrackerWarp * Warp
static void computeHLM(const vpMatrix &H, const double &alpha, vpMatrix &HLM)
vpTemplateTrackerPointCompo ** ptTemplateCompoPyr
void setPyramidal(unsigned int nlevels=2, unsigned int level_to_stop=1)
vpTemplateTrackerWarp * getWarp() const
void setThresholdGradient(double threshold)
void setCostFunctionVerification(bool b)