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(
const 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,
const unsigned int thickness = 1,
const bool displayFullModel =
false);
146 const vpColor &col,
const unsigned int thickness = 1,
const bool displayFullModel =
false);
192 inline bool isTracked()
const {
return isTrackedKltCylinder; }
196 void removeOutliers(
const vpColVector &weight,
const double &threshold_outlier);
210 inline void setTracked(
const bool &track) { this->isTrackedKltCylinder = track; }
212 #if (VISP_HAVE_OPENCV_VERSION >= 0x020408) 213 void updateMask(cv::Mat &mask,
unsigned char _nb = 255,
unsigned int _shiftBorder = 0);
215 void updateMask(IplImage *mask,
unsigned char _nb = 255,
unsigned int _shiftBorder = 0);
221 #endif // VISP_HAVE_OPENCV Implementation of a matrix and operations on matrices.
void setTracked(const bool &track)
bool hasEnoughPoints() const
Implementation of an homogeneous matrix and operations on such kind of matrices.
std::vector< int > listIndicesCylinderBBox
Pointer to the polygon that define a face.
std::map< int, int > & getCurrentPointsInd()
Class to define colors available for display functionnalities.
Class that defines what is a point.
virtual void setCameraParameters(const vpCameraParameters &_cam)
Generic class defining intrinsic camera parameters.
Implementation of a polygon of the model containing points of interest. It is used by the model-based...
bool useScanLine
Use scanline rendering.
unsigned int getCurrentNumberPoints() const
vpMbHiddenFaces< vpMbtPolygon > * hiddenface
Pointer to the list of faces.
std::map< int, vpImagePoint > & getCurrentPoints()
Class that defines what is a cylinder.
Implementation of column vector and the associated operations.
unsigned int getInitialNumberPoint() const
vpCameraParameters & getCameraParameters()
Wrapper for the KLT (Kanade-Lucas-Tomasi) feature tracker implemented in OpenCV. Thus to enable this ...
Class that defines what is a circle.
vpCylinder getCylinder() const