40 #include <visp3/core/vpImageTools.h> 41 #include <visp3/tt/vpTemplateTrackerSSDInverseCompositional.h> 44 :
vpTemplateTrackerSSD(warp), compoInitialised(false), HInv(), HCompInverse(), useTemplateSelect(false)
55 for (
unsigned int point = 0; point <
templateSize; point++) {
63 for (
unsigned int it = 0; it <
nbParam; it++)
64 for (
unsigned int jt = 0; jt <
nbParam; jt++)
74 for (
unsigned int point = 0; point <
templateSize; point++) {
102 unsigned int iteration = 0;
110 double evolRMS_init = 0;
111 double evolRMS_prec = 0;
112 double evolRMS_delta;
115 unsigned int Nbpoint = 0;
118 Warp->computeCoeff(
p);
119 for (
unsigned int point = 0; point <
templateSize; point++) {
131 if ((i2 >= 0) && (j2 >= 0) && (i2 < I.
getHeight() - 1) && (j2 < I.
getWidth() - 1)) {
138 double er = (Tij - IW);
139 for (
unsigned int it = 0; it <
nbParam; it++)
140 dp[it] += er * pt->
HiG[it];
160 if (iteration == 0) {
165 evolRMS_delta = std::fabs(
evolRMS - evolRMS_prec);
virtual void warpX(const int &v1, const int &u1, double &v2, double &u2, const vpColVector &p)=0
virtual void getParamInverse(const vpColVector &p, vpColVector &p_inv) const =0
Implementation of a matrix and operations on matrices.
void resize(unsigned int nrows, unsigned int ncols, bool flagNullify=true, bool recopy_=true)
unsigned int getWidth() const
vpTemplateTrackerPoint * ptTemplate
void computeOptimalBrentGain(const vpImage< unsigned char > &I, vpColVector &tp, double tMI, vpColVector &direction, double &alpha)
void initPosEvalRMS(const vpColVector &p)
void computeEvalRMS(const vpColVector &p)
unsigned int getCols() const
unsigned int templateSize
unsigned int iterationMax
Type getValue(unsigned int i, unsigned int j) const
Error that can be emited by the vpTracker class and its derivates.
virtual void pRondp(const vpColVector &p1, const vpColVector &p2, vpColVector &p12) const =0
virtual void getdW0(const int &v, const int &u, const double &dv, const double &du, double *dIdW)=0
unsigned int getRows() const
static void filter(const vpImage< double > &I, vpImage< double > &Iu, vpImage< double > &Iv, const vpMatrix &M, bool convolve=false)
Implementation of column vector and the associated operations.
vpMatrix inverseByLU() const
unsigned int getHeight() const
vpTemplateTrackerWarp * Warp
static void computeHLM(const vpMatrix &H, const double &alpha, vpMatrix &HLM)