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);
71 virtual void loadConfigFile(
const std::string &configFile,
bool verbose=
true);
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);
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);
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);
vpMbtTukeyEstimator< double > m_robust_depthDense
Tukey M-Estimator.
Implementation of a matrix and operations on matrices.
vpMbHiddenFaces< vpMbtPolygon > m_depthDenseHiddenFacesDisplay
Set of faces describing the object used only for display with scan line.
Class that defines generic functionnalities for display.
virtual void track(const vpImage< unsigned char > &I)=0
virtual void computeVVSInteractionMatrixAndResidu()=0
virtual void computeVVSInit()=0
vpColVector m_weightedError_depthDense
Weighted error.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class to define RGB colors available for display functionnalities.
vpColVector m_error_depthDense
(s - s*)
virtual void initCircle(const vpPoint &p1, const vpPoint &p2, const vpPoint &p3, double radius, int idFace=0, const std::string &name="")=0
virtual void resetTracker()=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
Class that defines a 3D point in the object frame and allows forward projection of a 3D point in the ...
virtual void init(const vpImage< unsigned char > &I)=0
unsigned int m_denseDepthNbFeatures
Nb features.
virtual void setCameraParameters(const vpCameraParameters &cam)
Implementation of a polygon of the model used by the model-based tracker.
vpMatrix m_L_depthDense
Interaction matrix.
virtual void initFaceFromCorners(vpMbtPolygon &polygon)=0
Generic class defining intrinsic camera parameters.
virtual vpColVector getError() const
Main methods for a model-based tracker.
virtual void computeVVSWeights(vpRobust &robust, const vpColVector &error, vpColVector &w)
unsigned int m_depthDenseSamplingStepX
Sampling step in x-direction.
virtual vpColVector getRobustWeights() const
void setDepthDenseSamplingStep(unsigned int stepX, unsigned int stepY)
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 setOgreVisibilityTest(const bool &v)
Implementation of column vector and the associated operations.
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, double radius, int idFace=0, const std::string &name="")=0
virtual void initFaceFromLines(vpMbtPolygon &polygon)=0
virtual void testTracking()=0
vpColVector m_w_depthDense
Robust weights.
std::vector< vpMbtFaceDepthDense * > m_depthDenseFaces
List of faces.
virtual void setPose(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cdMo)=0
virtual void setScanLineVisibilityTest(const bool &v)
virtual void loadConfigFile(const std::string &configFile, bool verbose=true)
unsigned int m_depthDenseSamplingStepY
Sampling step in y-direction.
std::vector< vpMbtFaceDepthDense * > m_depthDenseListOfActiveFaces
List of current active (visible and features extracted) faces.