39 #include <visp3/tt/vpTemplateTrackerSSDInverseCompositional.h>
40 #include <visp3/core/vpImageTools.h>
43 :
vpTemplateTrackerSSD(warp), compoInitialised(false), HInv(), HCompInverse(), useTemplateSelect(false),
44 evolRMS(0), x_pos(), y_pos(), threshold_RMS(1e-8)
69 for(
unsigned int it=0;it<
nbParam;it++)
70 for(
unsigned int jt=0;jt<
nbParam;jt++)
91 for(
unsigned int it=0;it<
nbParam;it++)
97 for(
unsigned int it=0;it<
nbParam;it++)
117 unsigned int iteration=0;
127 unsigned int Nbpoint=0;
130 Warp->computeCoeff(
p);
153 for(
unsigned int it=0;it<
nbParam;it++)
154 dp[it]+=er*pt->
HiG[it];
191 x_pos.resize(nb_corners);
192 y_pos.resize(nb_corners);
194 Warp->computeCoeff(p_);
200 for (
unsigned int j=0; j<3; j++) {
203 Warp->computeDenom(
X1,p_);
215 Warp->computeCoeff(p_);
222 for (
unsigned int j=0; j<3; j++) {
225 Warp->computeDenom(
X1,p_);
Implementation of a matrix and operations on matrices.
void getTriangle(unsigned int i, vpTemplateTrackerTriangle &T) const
unsigned int getWidth() const
void resize(const unsigned int nrows, const unsigned int ncols, const bool flagNullify=true)
vpTemplateTrackerPoint * ptTemplate
virtual void warpX(const int &i, const int &j, double &i2, double &j2, const vpColVector &ParamM)=0
void computeOptimalBrentGain(const vpImage< unsigned char > &I, vpColVector &tp, double tMI, vpColVector &direction, double &alpha)
Type getValue(double i, double j) const
vpColVector getCorner(unsigned int i) const
virtual void getParamInverse(const vpColVector &ParamM, vpColVector &ParamMinv) const =0
unsigned int templateSize
unsigned int iterationMax
virtual void pRondp(const vpColVector &p1, const vpColVector &p2, vpColVector &pres) const =0
Error that can be emited by the vpTracker class and its derivates.
unsigned int getNbTriangle() const
virtual void getdW0(const int &i, const int &j, const double &dy, const double &dx, double *dIdW)=0
Implementation of column vector and the associated operations.
vpMatrix inverseByLU() const
vpTemplateTrackerZone * zoneTracked
unsigned int getHeight() const
static void filter(const vpImage< double > &I, vpImage< double > &Iu, vpImage< double > &Iv, const vpMatrix &M, const bool convolve=false)
vpTemplateTrackerWarp * Warp
static void computeHLM(const vpMatrix &H, const double &alpha, vpMatrix &HLM)