 |
Visual Servoing Platform
version 3.2.0
|
36 #ifndef _vpMbDepthDenseTracker_h_
37 #define _vpMbDepthDenseTracker_h_
39 #include <visp3/core/vpPlane.h>
40 #include <visp3/mbt/vpMbTracker.h>
41 #include <visp3/mbt/vpMbtFaceDepthDense.h>
42 #include <visp3/mbt/vpMbtTukeyEstimator.h>
44 #if DEBUG_DISPLAY_DEPTH_DENSE
45 #include <visp3/core/vpDisplay.h>
55 const vpColor &col,
const unsigned int thickness = 1,
const bool displayFullModel =
false);
58 const vpColor &col,
const unsigned int thickness = 1,
const bool displayFullModel =
false);
69 const bool verbose =
false);
70 #if defined(VISP_HAVE_PCL)
71 void reInitModel(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud,
const std::string &cad_name,
79 virtual void setDepthDenseFilteringMaxDistance(
const double maxDistance);
80 virtual void setDepthDenseFilteringMethod(
const int method);
81 virtual void setDepthDenseFilteringMinDistance(
const double minDistance);
82 virtual void setDepthDenseFilteringOccupancyRatio(
const double occupancyRatio);
84 inline void setDepthDenseSamplingStep(
const unsigned int stepX,
const unsigned int stepY)
86 if (stepX == 0 || stepY == 0) {
87 std::cerr <<
"stepX and stepY must be greater than zero!" << std::endl;
91 m_depthDenseSamplingStepX = stepX;
92 m_depthDenseSamplingStepY = stepY;
104 void setUseDepthDenseTracking(
const std::string &name,
const bool &useDepthDenseTracking);
110 virtual void track(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud);
112 virtual void track(
const std::vector<vpColVector> &point_cloud,
const unsigned int width,
const unsigned int height);
120 std::vector<vpMbtFaceDepthDense *> m_depthDenseListOfActiveFaces;
122 unsigned int m_denseDepthNbFeatures;
124 std::vector<vpMbtFaceDepthDense *> m_depthDenseFaces;
126 unsigned int m_depthDenseSamplingStepX;
128 unsigned int m_depthDenseSamplingStepY;
134 vpMbtTukeyEstimator<double> m_robust_depthDense;
139 #if DEBUG_DISPLAY_DEPTH_DENSE
144 void addFace(
vpMbtPolygon &polygon,
const bool alreadyClose);
146 void computeVisibility(
const unsigned int width,
const unsigned int height);
155 const int idFace = 0,
const std::string &name =
"");
158 const std::string &name =
"");
165 void segmentPointCloud(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud);
167 void segmentPointCloud(
const std::vector<vpColVector> &point_cloud,
const unsigned int width,
168 const unsigned int height);
virtual void loadConfigFile(const std::string &configFile)
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, const double radius, const int idFace=0, const std::string &name="")=0
virtual vpColVector getError() const =0
virtual void initCircle(const vpPoint &p1, const vpPoint &p2, const vpPoint &p3, const double radius, const int idFace=0, const std::string &name="")=0
virtual void computeVVSInteractionMatrixAndResidu()=0
virtual void computeVVSInit()=0
Generic class defining intrinsic camera parameters.
virtual void track(const vpImage< unsigned char > &I)=0
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)=0
virtual void init(const vpImage< unsigned char > &I)=0
Implementation of column vector and the associated operations.
virtual void resetTracker()=0
Implementation of a matrix and operations on matrices.
Implementation of a polygon of the model used by the model-based tracker.
virtual void initFaceFromCorners(vpMbtPolygon &polygon)=0
virtual void setCameraParameters(const vpCameraParameters &camera)
virtual void computeVVSWeights(vpRobust &robust, const vpColVector &error, vpColVector &w)
virtual void setOgreVisibilityTest(const bool &v)
virtual void setPose(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cdMo)=0
virtual void initFaceFromLines(vpMbtPolygon &polygon)=0
virtual void testTracking()=0
virtual vpColVector getRobustWeights() const =0
Main methods for a model-based tracker.
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 void setScanLineVisibilityTest(const bool &v)
Class that defines generic functionnalities for display.