45 #ifndef __vpMbEdgeKltMultiTracker_h__
46 #define __vpMbEdgeKltMultiTracker_h__
51 #include <visp3/core/vpConfig.h>
53 #if (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
55 #include <visp3/mbt/vpMbEdgeMultiTracker.h>
56 #include <visp3/mbt/vpMbKltMultiTracker.h>
106 const vpColor& col,
const unsigned int thickness=1,
const bool displayFullModel=
false);
109 const vpColor& col,
const unsigned int thickness=1,
const bool displayFullModel=
false);
113 const vpColor& color,
const unsigned int thickness=1,
const bool displayFullModel =
false);
117 const vpColor& color,
const unsigned int thickness=1,
const bool displayFullModel =
false);
120 const std::map<std::string, vpHomogeneousMatrix> &mapOfCameraPoses,
121 const std::map<std::string, vpCameraParameters> &mapOfCameraParameters,
122 const vpColor& col,
const unsigned int thickness=1,
const bool displayFullModel=
false);
125 const std::map<std::string, vpHomogeneousMatrix> &mapOfCameraPoses,
126 const std::map<std::string, vpCameraParameters> &mapOfCameraParameters,
127 const vpColor& col,
const unsigned int thickness=1,
const bool displayFullModel=
false);
134 virtual void getCameraParameters(std::map<std::string, vpCameraParameters> &mapOfCameraParameters)
const;
137 virtual unsigned int getClipping(
const std::string &cameraName)
const;
141 std::map<std::string, vpMbHiddenFaces<vpMbtPolygon> > getEdgeFaces()
const;
143 std::map<std::string, vpMbHiddenFaces<vpMbtPolygon> > getKltFaces()
const;
164 virtual std::map<std::string, unsigned int> getEdgeMultiNbPolygon()
const;
165 virtual std::map<std::string, unsigned int> getKltMultiNbPolygon()
const;
174 return (
unsigned int) m_mapOfKltTrackers.size();
180 virtual void getPose(std::map<std::string, vpHomogeneousMatrix> &mapOfCameraPoses)
const;
184 #ifdef VISP_HAVE_MODULE_GUI
186 const std::string &displayFile=
"");
191 const std::string& initFile1,
const std::string& initFile2,
const bool displayHelp=
false,
192 const bool firstCameraIsReference=
true);
195 const std::string &initFile,
const bool displayHelp=
false);
198 const std::map<std::string, std::string> &mapOfInitFiles,
const bool displayHelp=
false);
202 const std::string &name=
"");
204 const std::string &name=
"");
215 const std::map<std::string, vpHomogeneousMatrix> &mapOfCameraPoses);
222 virtual void loadConfigFile(
const std::string& configFile1,
const std::string& configFile2,
223 const bool firstCameraIsReference=
true);
225 virtual void loadConfigFile(
const std::map<std::string, std::string> &mapOfConfigFiles);
227 virtual void loadModel(
const std::string &modelFile,
const bool verbose=
false);
230 const bool verbose=
false);
233 const bool verbose=
false,
const bool firstCameraIsReference=
true);
235 const std::string &cad_name,
const std::map<std::string, vpHomogeneousMatrix> &mapOfCameraPoses,
236 const bool verbose=
false);
246 const bool firstCameraIsReference=
true);
250 virtual void setCameraParameters(
const std::map<std::string, vpCameraParameters> &mapOfCameraParameters);
257 virtual void setClipping(
const unsigned int &flags);
258 virtual void setClipping(
const std::string &cameraName,
const unsigned int &flags);
273 m_factorKLT = factor;
282 m_factorMBT = factor;
285 #ifdef VISP_HAVE_OGRE
306 virtual void setLod(
const bool useLod,
const std::string &name=
"");
307 virtual void setLod(
const bool useLod,
const std::string &cameraName,
const std::string &name);
311 const std::string &name);
315 const std::string &name);
335 const std::map<std::string, vpHomogeneousMatrix> &mapOfCameraPoses);
358 std::map<std::string, unsigned int> &mapOfNumberOfRows, std::map<std::string, unsigned int> &mapOfNbInfos,
361 virtual unsigned int initMbtTracking(std::vector<FeatureType> &indexOfFeatures,
362 std::map<std::string, unsigned int> &mapOfNumberOfRows,
363 std::map<std::string, unsigned int> &mapOfNumberOfLines,
364 std::map<std::string, unsigned int> &mapOfNumberOfCylinders,
365 std::map<std::string, unsigned int> &mapOfNumberOfCircles);
372 std::map<std::string, unsigned int> &mapOfNbInfos,
const unsigned int lvl);
377 std::vector<FeatureType> &indexOfFeatures,
378 std::map<std::string, unsigned int> &mapOfNumberOfRows,
379 std::map<std::string, unsigned int> &mapOfNumberOfLines,
380 std::map<std::string, unsigned int> &mapOfNumberOfCylinders,
381 std::map<std::string, unsigned int> &mapOfNumberOfCircles,
const unsigned int lvl);
386 #endif // VISP_HAVE_OPENCV
387 #endif //__vpMbEdgeKltMultiTracker_h__
virtual void loadModel(const std::string &modelFile, const bool verbose=false)
virtual void setMinLineLengthThresh(const double minLineLengthThresh, const std::string &name="")
virtual void setFarClippingDistance(const double &dist)
double lambda
The gain of the virtual visual servoing stage.
virtual void setLod(const bool useLod, const std::string &name="")
double thresholdMBT
The threshold used in the robust estimation of MBT.
virtual void initFaceFromCorners(vpMbtPolygon &polygon)
virtual unsigned int getClipping() const
void setNbRayCastingAttemptsForVisibility(const unsigned int &attempts)
std::map< std::string, vpHomogeneousMatrix > m_mapOfCameraTransformationMatrix
Map of camera transformation matrix between the current camera frame to the reference camera frame (c...
virtual void setDisplayFeatures(const bool displayF)
Implementation of an homogeneous matrix and operations on such kind of matrices.
virtual void computeVVS(std::map< std::string, unsigned int > &mapOfNbInfos, vpColVector &w)
virtual void initFromPose(const vpImage< unsigned char > &I, const std::string &initFile)
friend class vpMbEdgeKltMultiTracker
Class to define colors available for display functionnalities.
virtual void track(const vpImage< unsigned char > &I)
virtual void setProjectionErrorComputation(const bool &flag)
double m_factorMBT
Factor for edge trackers.
virtual void loadConfigFile(const std::string &configFile)
virtual void setThresholdAcceptation(const double th)
Hybrid stereo (or more) tracker based on moving-edges and keypoints tracked using KLT tracker...
virtual void setClipping(const unsigned int &flags)
virtual void setOgreShowConfigDialog(const bool showConfigDialog)
virtual unsigned int getNbPolygon() const
virtual void setReferenceCameraName(const std::string &referenceCameraName)
virtual void setNearClippingDistance(const double &dist)
Class that defines what is a point.
double thresholdKLT
The threshold used in the robust estimation of KLT.
virtual void display(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo_, const vpCameraParameters &cam_, const vpColor &col, const unsigned int thickness=1, const bool displayFullModel=false)
void setGoodNbRayCastingAttemptsRatio(const double &ratio)
virtual void initClick(const vpImage< unsigned char > &I, const std::vector< vpPoint > &points3D_list, const std::string &displayFile="")
void init(const vpImage< unsigned char > &I)
Implementation of a polygon of the model used by the model-based tracker.
bool compute_interaction
If true, compute the interaction matrix at each iteration of the minimization. Otherwise, compute it only on the first iteration.
virtual vpHomogeneousMatrix getPose() const
virtual void setOgreVisibilityTest(const bool &v)
virtual void computeVVS(std::map< std::string, const vpImage< unsigned char > * > &mapOfImages, const unsigned int lvl)
virtual void setScanLineVisibilityTest(const bool &v)
virtual void setPose(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo)
virtual void setCameraParameters(const vpCameraParameters &camera)
Generic class defining intrinsic camera parameters.
unsigned int initMbtTracking(unsigned int &nberrors_lines, unsigned int &nberrors_cylinders, unsigned int &nberrors_circles)
virtual void setCameraTransformationMatrix(const std::string &cameraName, const vpHomogeneousMatrix &cameraTransformationMatrix)
virtual void setMinPolygonAreaThresh(const double minPolygonAreaThresh, const std::string &name="")
void setFactorMBT(const double factor)
void setFactorKLT(const double factor)
virtual void setCovarianceComputation(const bool &flag)
virtual void postTracking(std::map< std::string, const vpImage< unsigned char > * > &mapOfImages, std::map< std::string, unsigned int > &mapOfNbInfos, vpColVector &w_klt)
virtual void resetTracker()
virtual void initFaceFromLines(vpMbtPolygon &polygon)
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, const double radius, const int idFace=0, const std::string &name="")
virtual void getCameraParameters(vpCameraParameters &camera) const
Implementation of column vector and the associated operations.
virtual void initCircle(const vpPoint &p1, const vpPoint &p2, const vpPoint &p3, const double radius, const int idFace=0, const std::string &name="")
Implementation of a pose vector and operations on poses.
virtual vpMbHiddenFaces< vpMbtPolygon > & getFaces()
std::string m_referenceCameraName
Name of the reference camera.
virtual std::vector< std::string > getCameraNames() const
unsigned int maxIter
The maximum iteration of the virtual visual servoing stage.
unsigned int getNumberOfCameras() const
virtual void setAngleDisappear(const double &a)
double m_factorKLT
Factor for KLT trackers.
double getFactorMBT() const
Make the complete stereo (or more) tracking of an object by using its CAD model.
virtual void setOptimizationMethod(const vpMbtOptimizationMethod &opt)
virtual void reInitModel(const vpImage< unsigned char > &I, const std::string &cad_name, const vpHomogeneousMatrix &cMo_, const bool verbose=false)
Model based stereo (or more) tracker using only KLT.
virtual void setAngleAppear(const double &a)
double getFactorKLT() const