40 #ifndef vpMbtDistanceKltPoints_h
41 #define vpMbtDistanceKltPoints_h
43 #include <visp3/core/vpConfig.h>
45 #if defined(VISP_HAVE_MODULE_KLT) && (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
49 #include <visp3/core/vpDisplay.h>
50 #include <visp3/core/vpGEMM.h>
51 #include <visp3/core/vpPlane.h>
52 #include <visp3/core/vpPolygon3D.h>
53 #include <visp3/klt/vpKltOpencv.h>
54 #include <visp3/mbt/vpMbHiddenFaces.h>
55 #include <visp3/vision/vpHomography.h>
82 std::map<int, vpImagePoint> initPoints;
84 std::map<int, vpImagePoint> curPoints;
86 std::map<int, int> curPointsInd;
88 unsigned int nbPointsCur;
90 unsigned int nbPointsInit;
92 unsigned int minNbPoint;
102 bool isTrackedKltPoints;
113 double compute_1_over_Z(
double x,
double y);
114 void computeP_mu_t(
double x_in,
double y_in,
double &x_out,
double &y_out,
const vpMatrix &cHc0);
115 bool isTrackedFeature(
int id);
145 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
147 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
152 std::vector<std::vector<double> > getFeaturesForDisplay();
154 std::vector<std::vector<double> > getModelForDisplay(
const vpCameraParameters &cam,
bool displayFullModel =
false);
199 inline bool isTracked()
const {
return isTrackedKltPoints; }
201 void removeOutliers(
const vpColVector &weight,
const double &threshold_outlier);
215 inline void setTracked(
const bool &track) { this->isTrackedKltPoints = track; }
217 #if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
218 void updateMask(cv::Mat &mask,
unsigned char _nb = 255,
unsigned int _shiftBorder = 0);
220 void updateMask(IplImage *mask,
unsigned char _nb = 255,
unsigned int _shiftBorder = 0);
Generic class defining intrinsic camera parameters.
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionnalities.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Implementation of an homography and operations on homographies.
Wrapper for the KLT (Kanade-Lucas-Tomasi) feature tracker implemented in OpenCV. Thus to enable this ...
Implementation of a matrix and operations on matrices.
Implementation of a polygon of the model containing points of interest. It is used by the model-based...
bool hasEnoughPoints() const
bool useScanLine
Use scanline rendering.
vpColVector getCurrentNormal() const
vpMbHiddenFaces< vpMbtPolygon > * hiddenface
Pointer to the list of faces.
virtual void setCameraParameters(const vpCameraParameters &_cam)
unsigned int getCurrentNumberPoints() const
std::map< int, int > & getCurrentPointsInd()
vpCameraParameters & getCameraParameters()
vpMbtPolygon * polygon
Pointer to the polygon that define a face.
std::map< int, vpImagePoint > & getCurrentPoints()
unsigned int getInitialNumberPoint() const
void setTracked(const bool &track)
Implementation of a polygon of the model used by the model-based tracker.