45 #ifndef vpMbEdgeKltTracker_HH 46 #define vpMbEdgeKltTracker_HH 48 #include <visp3/core/vpConfig.h> 50 #if defined(VISP_HAVE_MODULE_KLT) && (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100)) 52 #include <visp3/core/vpExponentialMap.h> 53 #include <visp3/core/vpPoseVector.h> 54 #include <visp3/core/vpSubColVector.h> 55 #include <visp3/core/vpSubMatrix.h> 56 #include <visp3/klt/vpKltOpencv.h> 57 #include <visp3/mbt/vpMbEdgeTracker.h> 58 #include <visp3/mbt/vpMbKltTracker.h> 59 #include <visp3/mbt/vpMbTracker.h> 241 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
243 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
247 virtual std::vector<std::vector<double> >
getModelForDisplay(
unsigned int width,
unsigned int height,
250 bool displayFullModel=
false);
303 #ifdef VISP_HAVE_OGRE 304 faces.getOgreContext()->setWindowName(
"MBT Hybrid");
335 unsigned int lvl = 0);
343 const std::string &name =
"");
345 const std::string &name =
"");
351 unsigned int lvl = 0);
353 unsigned int lvl = 0);
354 void postTrackingMbt(
vpColVector &w,
unsigned int level = 0);
358 unsigned int lvl = 0);
363 #endif // VISP_HAVE_OPENCV Implementation of a matrix and operations on matrices.
double m_thresholdMBT
The threshold used in the robust estimation of MBT.
virtual void setScanLineVisibilityTest(const bool &v)
virtual std::vector< std::vector< double > > getModelForDisplay(unsigned int width, unsigned int height, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, bool displayFullModel=false)
virtual double getNearClippingDistance() const
virtual vpColVector getRobustWeights() const
virtual void initFaceFromCorners(vpMbtPolygon &polygon)
virtual void setScanLineVisibilityTest(const bool &v)
Implementation of an homogeneous matrix and operations on such kind of matrices.
virtual void init(const vpImage< unsigned char > &I)
virtual void track(const vpImage< unsigned char > &I)
vpColVector m_w_mbt
Robust weights for Edge.
Class to define colors available for display functionnalities.
unsigned int m_maxIterKlt
The maximum iteration of the virtual visual servoing stage.
bool postTracking(const vpImage< unsigned char > &I, vpColVector &w)
virtual void reInitModel(const vpImage< unsigned char > &I, const std::string &cad_name, const vpHomogeneousMatrix &cMo, bool verbose=false, const vpHomogeneousMatrix &T=vpHomogeneousMatrix())
virtual void setClipping(const unsigned int &flags)
Make the complete tracking of an object by using its CAD model.
virtual void setPose(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cdMo)
vpColVector m_w_hybrid
Robust weights.
void loadConfigFile(const std::string &configFile)
virtual void initCircle(const vpPoint &p1, const vpPoint &p2, const vpPoint &p3, double radius, int idFace=0, const std::string &name="")
virtual void setFarClippingDistance(const double &dist)
Class that defines what is a point.
virtual void setNearClippingDistance(const double &dist)
virtual void setOgreVisibilityTest(const bool &v)
virtual void setScanLineVisibilityTest(const bool &v)
Implementation of a polygon of the model used by the model-based tracker.
virtual vpColVector getError() const
virtual void setProjectionErrorComputation(const bool &flag)
Generic class defining intrinsic camera parameters.
unsigned int initMbtTracking(unsigned int &nberrors_lines, unsigned int &nberrors_cylinders, unsigned int &nberrors_circles)
double m_thresholdKLT
The threshold used in the robust estimation of KLT.
virtual void computeVVSInteractionMatrixAndResidu()
virtual void setFarClippingDistance(const double &dist)
Model based tracker using only KLT.
virtual void initFaceFromLines(vpMbtPolygon &polygon)
Hybrid tracker based on moving-edges and keypoints tracked using KLT tracker.
virtual void testTracking()
virtual void computeVVSPoseEstimation(const bool isoJoIdentity_, unsigned int iter, vpMatrix &L, vpMatrix <L, vpColVector &R, const vpColVector &error, vpColVector &error_prev, vpColVector <R, double &mu, vpColVector &v, const vpColVector *const w=NULL, vpColVector *const m_w_prev=NULL)
virtual void setOgreVisibilityTest(const bool &v)
Implementation of column vector and the associated operations.
vpColVector m_error_hybrid
(s - s*)
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, double radius, int idFace=0, const std::string &name="")
virtual void display(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false)
virtual void computeCovarianceMatrixVVS(const bool isoJoIdentity_, const vpColVector &w_true, const vpHomogeneousMatrix &cMoPrev, const vpMatrix &L_true, const vpMatrix &LVJ_true, const vpColVector &error)
void computeVVS(const vpImage< unsigned char > &_I, unsigned int lvl)
virtual void computeVVSInit()
virtual void setCameraParameters(const vpCameraParameters &cam)
vpColVector m_w_klt
Robust weights for KLT.
virtual double getNearClippingDistance() const
virtual void setClipping(const unsigned int &flags)
virtual void setNearClippingDistance(const double &dist)
virtual void setProjectionErrorComputation(const bool &flag)