42#ifndef vpTemplateTracker_hh
43#define vpTemplateTracker_hh
47#include <visp3/core/vpConfig.h>
48#include <visp3/core/vpImageFilter.h>
49#include <visp3/tt/vpTemplateTrackerHeader.h>
50#include <visp3/tt/vpTemplateTrackerWarp.h>
51#include <visp3/tt/vpTemplateTrackerZone.h>
91#ifndef DOXYGEN_SHOULD_SKIP_THIS
92 vpTemplateTrackerPointSuppMIInv *ptTemplateSupp;
93 vpTemplateTrackerPointSuppMIInv **ptTemplateSuppPyr;
163 useCompositionnal(false),
useInverse(false),
Warp(nullptr),
p(),
dp(),
X1(),
X2(),
dW(),
BI(),
dIx(),
dIy(),
193 void initFromPoints(
const vpImage<unsigned char> &I,
const std::vector<vpImagePoint> &v_ip,
bool delaunay =
false);
201 void setGaussianFilterSize(
unsigned int new_taill);
235 void setPyramidal(
unsigned int nlevels = 2,
unsigned int level_to_stop = 1)
238 l0Pyr = level_to_stop;
239 if (
l0Pyr >= nlevels) {
240 std::cout <<
"Warning: level_to_stop: " << level_to_stop <<
" higher than level_to_start: " << nlevels - 1
241 <<
" (nlevels-1)" << std::endl;
242 std::cout <<
"Level to stop put to: " << nlevels - 1 << std::endl;
277#if defined(VISP_BUILD_DEPRECATED_FUNCTIONS)
300 virtual void initPyramidal(
unsigned int nbLvl,
unsigned int l0);
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionalities.
static const vpColor green
static void filter(const vpImage< ImageType > &I, vpImage< FilterType > &If, const vpArray2D< FilterType > &M, bool convolve=false, const vpImage< bool > *p_mask=nullptr)
Definition of the vpImage class member functions.
Implementation of a matrix and operations on matrices.
static void computeHLM(const vpMatrix &H, const double &alpha, vpMatrix &HLM)
void initTracking(const vpImage< unsigned char > &I, vpTemplateTrackerZone &zone)
void setThresholdGradient(double threshold)
unsigned int getNbIteration() const
void setCostFunctionVerification(bool b)
void setThresholdResidualDifference(double threshold)
vpTemplateTracker()
Default constructor.
vpMatrix HLMdesireInverse
unsigned int templateSelectSize
virtual void initHessienDesiredPyr(const vpImage< unsigned char > &I)
vpTemplateTrackerPoint ** ptTemplatePyr
virtual void trackNoPyr(const vpImage< unsigned char > &I)=0
unsigned int * templateSizePyr
void setIterationMax(const unsigned int &n)
vpTemplateTrackerZone * zoneTrackedPyr
vpTemplateTrackerZone zoneRef_
bool ** ptTemplateSelectPyr
void setPyramidal(unsigned int nlevels=2, unsigned int level_to_stop=1)
vpImage< unsigned char > * pyr_IDes
std::vector< double > y_pos
unsigned int getNbParam() const
VP_DEPRECATED void setThresholdRMS(double threshold)
vpMatrix * HLMdesireInversePyr
std::vector< double > x_pos
unsigned int iterationMax
virtual double getCost(const vpImage< unsigned char > &I, const vpColVector &tp)=0
bool costFunctionVerification
vpTemplateTrackerPointCompo ** ptTemplateCompoPyr
virtual void trackPyr(const vpImage< unsigned char > &I)
void getGaussianBluredImage(const vpImage< unsigned char > &I)
void initPosEvalRMS(const vpColVector &p)
void setp(const vpColVector &tp)
virtual void initHessienDesired(const vpImage< unsigned char > &I)=0
vpTemplateTrackerPoint * ptTemplate
void setNbIterBrent(const unsigned int &b)
virtual void initTrackingPyr(const vpImage< unsigned char > &I, vpTemplateTrackerZone &zone)
virtual void initPyramidal(unsigned int nbLvl, unsigned int l0)
vpTemplateTrackerWarp * Warp
vpTemplateTrackerZone getZoneRef() const
double getRatioPixelIn() const
unsigned int iterationGlobale
void setSampling(int sample_i, int sample_j)
bool ptTemplateSelectInit
vpTemplateTrackerWarp * getWarp() const
void setHDes(vpMatrix &tH)
unsigned int templateSize
vpTemplateTrackerPointCompo * ptTemplateCompo
vpTemplateTrackerZone * zoneTracked