 |
Visual Servoing Platform
version 3.3.0
|
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
virtual void setClipping(const unsigned int &flags)
virtual void setProjectionErrorComputation(const bool &flag)
virtual void init(const vpImage< unsigned char > &I)
virtual void track(const vpImage< unsigned char > &I)
Make the complete tracking of an object by using its CAD model.
Generic class defining intrinsic camera parameters.
void computeVVS(const vpImage< unsigned char > &_I, unsigned int lvl)
Model based tracker using only KLT.
void loadConfigFile(const std::string &configFile)
virtual void setNearClippingDistance(const double &dist)
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, double radius, int idFace=0, const std::string &name="")
virtual vpColVector getError() const
virtual void display(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false)
unsigned int initMbtTracking(unsigned int &nberrors_lines, unsigned int &nberrors_cylinders, unsigned int &nberrors_circles)
vpColVector m_error_hybrid
(s - s*)
virtual void setProjectionErrorComputation(const bool &flag)
vpColVector m_w_klt
Robust weights for KLT.
double m_thresholdKLT
The threshold used in the robust estimation of KLT.
virtual std::vector< std::vector< double > > getModelForDisplay(unsigned int width, unsigned int height, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, bool displayFullModel=false)
Implementation of column vector and the associated operations.
virtual void setFarClippingDistance(const double &dist)
Implementation of a matrix and operations on matrices.
virtual void testTracking()
Implementation of a polygon of the model used by the model-based tracker.
virtual vpColVector getRobustWeights() const
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)
bool postTracking(const vpImage< unsigned char > &I, vpColVector &w)
Hybrid tracker based on moving-edges and keypoints tracked using KLT tracker.
vpColVector m_w_mbt
Robust weights for Edge.
virtual void setOgreVisibilityTest(const bool &v)
virtual void setScanLineVisibilityTest(const bool &v)
double m_thresholdMBT
The threshold used in the robust estimation of MBT.
virtual void initFaceFromCorners(vpMbtPolygon &polygon)
virtual void initFaceFromLines(vpMbtPolygon &polygon)
virtual void computeVVSInit()
virtual void setScanLineVisibilityTest(const bool &v)
vpColVector m_w_hybrid
Robust weights.
unsigned int m_maxIterKlt
The maximum iteration of the virtual visual servoing stage.
virtual void setNearClippingDistance(const double &dist)
virtual void setCameraParameters(const vpCameraParameters &cam)
virtual void setOgreVisibilityTest(const bool &v)
virtual void setClipping(const unsigned int &flags)
virtual double getNearClippingDistance() const
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)
virtual void computeCovarianceMatrixVVS(const bool isoJoIdentity_, const vpColVector &w_true, const vpHomogeneousMatrix &cMoPrev, const vpMatrix &L_true, const vpMatrix &LVJ_true, const vpColVector &error)
Class that defines what is a point.
Class to define colors available for display functionnalities.
Implementation of an homogeneous matrix and operations on such kind of matrices.
virtual double getNearClippingDistance() const
virtual void computeVVSInteractionMatrixAndResidu()
virtual void setScanLineVisibilityTest(const bool &v)
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 setPose(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cdMo)