39 #ifndef vpMbtDistanceKltCylinder_h
40 #define vpMbtDistanceKltCylinder_h
42 #include <visp3/core/vpConfig.h>
44 #if defined(VISP_HAVE_MODULE_KLT) && (defined(VISP_HAVE_OPENCV) && (VISP_HAVE_OPENCV_VERSION >= 0x020100))
48 #include <visp3/core/vpCircle.h>
49 #include <visp3/core/vpCylinder.h>
50 #include <visp3/core/vpDisplay.h>
51 #include <visp3/core/vpGEMM.h>
52 #include <visp3/core/vpPlane.h>
53 #include <visp3/core/vpPolygon3D.h>
54 #include <visp3/klt/vpKltOpencv.h>
55 #include <visp3/mbt/vpMbHiddenFaces.h>
56 #include <visp3/vision/vpHomography.h>
84 std::map<int, vpImagePoint> initPoints;
86 std::map<int, vpPoint> initPoints3D;
88 std::map<int, vpImagePoint> curPoints;
90 std::map<int, int> curPointsInd;
92 unsigned int nbPointsCur;
94 unsigned int nbPointsInit;
96 unsigned int minNbPoint;
102 bool isTrackedKltCylinder;
113 double computeZ(
const double &x,
const double &y);
114 bool isTrackedFeature(
int id);
138 void buildFrom(
const vpPoint &p1,
const vpPoint &p2,
const double &r);
140 unsigned int computeNbDetectedCurrent(
const vpKltOpencv &_tracker);
144 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
146 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
185 std::vector<std::vector<double> > getFeaturesForDisplay();
196 inline bool isTracked()
const {
return isTrackedKltCylinder; }
200 void removeOutliers(
const vpColVector &weight,
const double &threshold_outlier);
214 inline void setTracked(
const bool &track) { this->isTrackedKltCylinder = track; }
216 #if (VISP_HAVE_OPENCV_VERSION >= 0x020408)
217 void updateMask(cv::Mat &mask,
unsigned char _nb = 255,
unsigned int _shiftBorder = 0);
219 void updateMask(IplImage *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 functionnalities.
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 ...