36 #ifndef vpMbtDistanceKltCylinder_h
37 #define vpMbtDistanceKltCylinder_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/vpCircle.h>
46 #include <visp3/core/vpCylinder.h>
47 #include <visp3/core/vpDisplay.h>
48 #include <visp3/core/vpGEMM.h>
49 #include <visp3/core/vpPlane.h>
50 #include <visp3/core/vpPolygon3D.h>
51 #include <visp3/klt/vpKltOpencv.h>
52 #include <visp3/mbt/vpMbHiddenFaces.h>
53 #include <visp3/vision/vpHomography.h>
81 std::map<int, vpImagePoint> initPoints;
83 std::map<int, vpPoint> initPoints3D;
85 std::map<int, vpImagePoint> curPoints;
87 std::map<int, int> curPointsInd;
89 unsigned int nbPointsCur;
91 unsigned int nbPointsInit;
93 unsigned int minNbPoint;
99 bool isTrackedKltCylinder;
110 double computeZ(
const double &x,
const double &y);
111 bool isTrackedFeature(
int id);
135 void buildFrom(
const vpPoint &p1,
const vpPoint &p2,
const double &r);
137 unsigned int computeNbDetectedCurrent(
const vpKltOpencv &_tracker);
141 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
143 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
182 std::vector<std::vector<double> > getFeaturesForDisplay();
193 inline bool isTracked()
const {
return isTrackedKltCylinder; }
197 void removeOutliers(
const vpColVector &weight,
const double &threshold_outlier);
211 inline void setTracked(
const bool &track) { this->isTrackedKltCylinder = track; }
213 void updateMask(cv::Mat &mask,
unsigned char _nb = 255,
unsigned int _shiftBorder = 0);
Generic class defining intrinsic camera parameters.
Class that defines a 3D circle in the object frame and allows forward projection of a 3D circle in th...
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionalities.
Class that defines a 3D cylinder in the object frame and allows forward projection of a 3D cylinder i...
Implementation of an homogeneous matrix and operations on such kind of matrices.
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...
virtual void setCameraParameters(const vpCameraParameters &_cam)
std::map< int, vpImagePoint > & getCurrentPoints()
vpCylinder getCylinder() const
bool useScanLine
Use scanline rendering.
void setTracked(const bool &track)
unsigned int getCurrentNumberPoints() const
std::vector< int > listIndicesCylinderBBox
Pointer to the polygon that define a face.
vpCameraParameters & getCameraParameters()
bool hasEnoughPoints() const
vpMbHiddenFaces< vpMbtPolygon > * hiddenface
Pointer to the list of faces.
std::map< int, int > & getCurrentPointsInd()
unsigned int getInitialNumberPoint() const
Class that defines a 3D point in the object frame and allows forward projection of a 3D point in the ...