36 #ifndef _vpMbDepthNormalTracker_h_ 37 #define _vpMbDepthNormalTracker_h_ 39 #include <visp3/core/vpConfig.h> 40 #include <visp3/core/vpPlane.h> 41 #include <visp3/mbt/vpMbTracker.h> 42 #include <visp3/mbt/vpMbtFaceDepthNormal.h> 44 #if DEBUG_DISPLAY_DEPTH_NORMAL 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);
62 return m_depthNormalFeatureEstimationMethod;
74 const 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,
88 virtual void setDepthNormalPclPlaneEstimationMethod(
const int method);
90 virtual void setDepthNormalPclPlaneEstimationRansacMaxIter(
const int maxIter);
92 virtual void setDepthNormalPclPlaneEstimationRansacThreshold(
const double thresold);
94 virtual void setDepthNormalSamplingStep(
const unsigned int stepX,
const unsigned int stepY);
101 #if defined(VISP_HAVE_PCL) 107 void setUseDepthNormalTracking(
const std::string &name,
const bool &useDepthNormalTracking);
112 #if defined(VISP_HAVE_PCL) 113 virtual void track(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud);
115 virtual void track(
const std::vector<vpColVector> &point_cloud,
const unsigned int width,
const unsigned int height);
152 #if DEBUG_DISPLAY_DEPTH_NORMAL 157 void addFace(
vpMbtPolygon &polygon,
const bool alreadyClose);
159 void computeVisibility(
const unsigned int width,
const unsigned int height);
166 const int idFace = 0,
const std::string &name =
"");
169 const std::string &name =
"");
176 void segmentPointCloud(
const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &point_cloud);
178 void segmentPointCloud(
const std::vector<vpColVector> &point_cloud,
const unsigned int width,
179 const unsigned int height);
Implementation of a matrix and operations on matrices.
vpMbtFaceDepthNormal::vpFeatureEstimationType m_depthNormalFeatureEstimationMethod
Method to estimate the desired features.
Class that defines generic functionnalities for display.
virtual void track(const vpImage< unsigned char > &I)=0
virtual void computeVVSInteractionMatrixAndResidu()=0
bool m_depthNormalUseRobust
If true, use Tukey robust M-Estimator.
virtual void computeVVSInit()=0
vpColVector m_w_depthNormal
Robust weights.
Implementation of an homogeneous matrix and operations on such kind of matrices.
int m_depthNormalPclPlaneEstimationRansacMaxIter
PCL RANSAC maximum number of iterations.
virtual void loadConfigFile(const std::string &configFile)
vpColVector m_error_depthNormal
(s - s*)
Class to define colors available for display functionnalities.
virtual void initCircle(const vpPoint &p1, const vpPoint &p2, const vpPoint &p3, const double radius, const int idFace=0, const std::string &name="")=0
std::vector< vpColVector > m_depthNormalListOfDesiredFeatures
List of desired features.
virtual vpMbtFaceDepthNormal::vpFeatureEstimationType getDepthFeatureEstimationMethod() const
virtual void resetTracker()=0
virtual vpColVector getError() const
Class that defines what is a point.
virtual void init(const vpImage< unsigned char > &I)=0
vpColVector m_weightedError_depthNormal
Weighted error.
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
unsigned int m_depthNormalSamplingStepX
Sampling step in x-direction.
virtual vpColVector getRobustWeights() const
Implementation of a polygon of the model used by the model-based tracker.
virtual void setCameraParameters(const vpCameraParameters &camera)
double m_depthNormalPclPlaneEstimationRansacThreshold
PCL RANSAC threshold.
virtual void initFaceFromCorners(vpMbtPolygon &polygon)=0
Generic class defining intrinsic camera parameters.
Main methods for a model-based tracker.
unsigned int m_depthNormalSamplingStepY
Sampling step in y-direction.
vpMatrix m_L_depthNormal
Interaction matrix.
vpRobust m_robust_depthNormal
Robust.
vpImage< unsigned char > m_depthNormalI_dummyVisibility
Dummy image used to compute the visibility.
virtual void setOgreVisibilityTest(const bool &v)
std::vector< vpMbtFaceDepthNormal * > m_depthNormalFaces
List of faces.
Implementation of column vector and the associated operations.
int m_depthNormalPclPlaneEstimationMethod
PCL plane estimation method.
virtual void initFaceFromLines(vpMbtPolygon &polygon)=0
virtual void testTracking()=0
std::vector< vpMbtFaceDepthNormal * > m_depthNormalListOfActiveFaces
List of current active (visible and with features extracted) faces.
Contains an M-Estimator and various influence function.
virtual void setPose(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cdMo)=0
virtual void setScanLineVisibilityTest(const bool &v)
vpMbHiddenFaces< vpMbtPolygon > m_depthNormalHiddenFacesDisplay
Set of faces describing the object used only for display with scan line.
virtual void initCylinder(const vpPoint &p1, const vpPoint &p2, const double radius, const int idFace=0, const std::string &name="")=0