36 #ifndef _vpMbtDistanceKltPoints_h_
37 #define _vpMbtDistanceKltPoints_h_
39 #include <visp3/core/vpConfig.h>
41 #if defined(VISP_HAVE_MODULE_KLT) && defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_VIDEO)
45 #include <visp3/core/vpDisplay.h>
46 #include <visp3/core/vpGEMM.h>
47 #include <visp3/core/vpPlane.h>
48 #include <visp3/core/vpPolygon3D.h>
49 #include <visp3/klt/vpKltOpencv.h>
50 #include <visp3/mbt/vpMbHiddenFaces.h>
51 #include <visp3/vision/vpHomography.h>
79 std::map<int, vpImagePoint> initPoints;
81 std::map<int, vpImagePoint> curPoints;
83 std::map<int, int> curPointsInd;
85 unsigned int nbPointsCur;
87 unsigned int nbPointsInit;
89 unsigned int minNbPoint;
99 bool isTrackedKltPoints;
110 double compute_1_over_Z(
double x,
double y);
111 void computeP_mu_t(
double x_in,
double y_in,
double &x_out,
double &y_out,
const vpMatrix &cHc0);
112 bool isTrackedFeature(
int id);
133 #if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
147 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
149 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
154 std::vector<std::vector<double> > getFeaturesForDisplay();
156 std::vector<std::vector<double> > getModelForDisplay(
const vpCameraParameters &cam,
bool displayFullModel =
false);
201 inline bool isTracked()
const {
return isTrackedKltPoints; }
203 void removeOutliers(
const vpColVector &weight,
const double &threshold_outlier);
217 inline void setTracked(
const bool &track) { this->isTrackedKltPoints = track; }
219 void updateMask(cv::Mat &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 functionalities.
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.