 |
Visual Servoing Platform
version 3.3.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,
unsigned int thickness = 1,
bool displayFullModel =
false);
58 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
62 virtual std::vector<std::vector<double> >
getModelForDisplay(
unsigned int width,
unsigned int height,
65 bool displayFullModel=
false);
74 bool verbose =
false);
75 #if defined(VISP_HAVE_PCL)
76 void reInitModel(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud,
const std::string &cad_name,
84 virtual void setDepthDenseFilteringMaxDistance(
double maxDistance);
85 virtual void setDepthDenseFilteringMethod(
int method);
86 virtual void setDepthDenseFilteringMinDistance(
double minDistance);
87 virtual void setDepthDenseFilteringOccupancyRatio(
double occupancyRatio);
89 inline void setDepthDenseSamplingStep(
unsigned int stepX,
unsigned int stepY)
91 if (stepX == 0 || stepY == 0) {
92 std::cerr <<
"stepX and stepY must be greater than zero!" << std::endl;
96 m_depthDenseSamplingStepX = stepX;
97 m_depthDenseSamplingStepY = stepY;
110 void setUseDepthDenseTracking(
const std::string &name,
const bool &useDepthDenseTracking);
117 virtual void track(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud);
119 virtual void track(
const std::vector<vpColVector> &point_cloud,
unsigned int width,
unsigned int height);
125 std::vector<vpMbtFaceDepthDense *> m_depthDenseListOfActiveFaces;
127 unsigned int m_denseDepthNbFeatures;
129 std::vector<vpMbtFaceDepthDense *> m_depthDenseFaces;
131 unsigned int m_depthDenseSamplingStepX;
133 unsigned int m_depthDenseSamplingStepY;
139 vpMbtTukeyEstimator<double> m_robust_depthDense;
144 #if DEBUG_DISPLAY_DEPTH_DENSE
151 void computeVisibility(
unsigned int width,
unsigned int height);
160 int idFace = 0,
const std::string &name =
"");
163 const std::string &name =
"");
170 void segmentPointCloud(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud);
172 void segmentPointCloud(
const std::vector<vpColVector> &point_cloud,
unsigned int width,
173 unsigned int height);
virtual void loadConfigFile(const std::string &configFile)
virtual vpColVector getError() const =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 setCameraParameters(const vpCameraParameters &cam)
virtual void init(const vpImage< unsigned char > &I)=0
virtual void initCircle(const vpPoint &p1, const vpPoint &p2, const vpPoint &p3, double radius, int idFace=0, const std::string &name="")=0
virtual void display(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false)=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 std::vector< std::vector< double > > getModelForDisplay(unsigned int width, unsigned int height, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, bool displayFullModel=false)=0
virtual void initFaceFromCorners(vpMbtPolygon &polygon)=0
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, double radius, int idFace=0, const std::string &name="")=0
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.