47 #include <visp3/core/vpImage.h>
48 #include <visp3/core/vpRect.h>
49 #include <visp3/core/vpTracker.h>
50 #include <visp3/core/vpColor.h>
51 #include <visp3/core/vpImagePoint.h>
52 #include <visp3/core/vpPolygon.h>
136 unsigned int thickness=1)
const;
138 double getArea()
const;
151 this->bbox_u_max - this->bbox_u_min + 1,
152 this->bbox_v_max - this->bbox_v_min + 1);
165 double getDistance(
const vpDot2& distantDot )
const;
175 void getEdges(std::list<vpImagePoint> &edges_list)
const {
176 edges_list = this->ip_edges_list;
188 return(this->ip_edges_list);
198 return allowedBadPointsPercentage_;
201 double getEllipsoidShapePrecision()
const;
202 void getFreemanChain(std::list<unsigned int> &freeman_chain)
const;
204 inline double getGamma()
const {
return this->gamma;};
211 return gray_level_min;
219 return gray_level_max;
221 double getGrayLevelPrecision()
const;
223 double getHeight()
const;
224 double getMaxSizeSearchDistancePrecision()
const;
229 return (this->mean_gray_level);
237 double getSizePrecision()
const;
238 double getWidth()
const;
242 unsigned int size = 0);
244 unsigned int gray_lvl_min,
unsigned int gray_lvl_max,
245 unsigned int size = 0 );
248 friend VISP_EXPORT std::ostream& operator<< (std::ostream& os,
vpDot2& d);
250 void print(std::ostream& os) { os << *
this << std::endl ; }
252 int area_u,
int area_v,
253 unsigned int area_w,
unsigned int area_h, std::list<vpDot2> &niceDots );
257 void setArea(
const double & area );
295 allowedBadPointsPercentage_ = 0.;
296 else if (percentage > 1.)
297 allowedBadPointsPercentage_ = 1.;
299 allowedBadPointsPercentage_ = percentage;
302 void setEllipsoidShapePrecision(
const double & ellipsoidShapePrecision);
337 this->gray_level_min = 255;
339 this->gray_level_min = min;
353 this->gray_level_max = 255;
355 this->gray_level_max = max;
357 void setGrayLevelPrecision(
const double & grayLevelPrecision );
358 void setHeight(
const double & height );
359 void setMaxSizeSearchDistancePrecision(
const double & maxSizeSearchDistancePrecision);
360 void setSizePrecision(
const double & sizePrecision );
361 void setWidth(
const double & width );
367 std::vector<vpImagePoint> &cogs,
vpImagePoint* cogStar = NULL);
439 const unsigned int &u,
440 const unsigned int &v)
const;
442 const unsigned int &u,
443 const unsigned int &v)
const;
445 virtual vpDot2* getInstance();
450 const double &u = -1.0,
451 const double &v = -1.0);
456 const unsigned int &v,
unsigned int &border_u,
457 unsigned int &border_v);
468 unsigned int getFirstBorder_u()
const {
469 return this->firstBorder_u;
479 unsigned int getFirstBorder_v()
const {
480 return this->firstBorder_v;
484 const unsigned int &u,
485 const unsigned int &v,
486 unsigned int &element);
487 void computeFreemanParameters(
const int &u_p,
488 const int &v_p,
unsigned int &element,
489 int &du,
int &dv,
float &dS,
490 float &dMu,
float &dMv,
492 float &dMu2,
float &dMv2);
493 void updateFreemanPosition(
unsigned int& u,
unsigned int& v,
494 const unsigned int &dir );
500 bool isInArea(
const unsigned int &u,
const unsigned int &v)
const;
502 void getGridSize(
unsigned int &gridWidth,
unsigned int &gridHeight );
504 int u,
int v,
unsigned int w,
unsigned int h);
506 void setArea(
const vpRect & a);
515 unsigned int gray_level_min;
519 unsigned int gray_level_max;
522 double mean_gray_level;
523 double grayLevelPrecision ;
525 double sizePrecision ;
526 double ellipsoidShapePrecision;
527 double maxSizeSearchDistancePrecision;
528 double allowedBadPointsPercentage_;
533 std::list<unsigned int> direction_list;
534 std::list<vpImagePoint> ip_edges_list;
537 bool compute_moment ;
540 unsigned int thickness;
543 int bbox_u_min, bbox_u_max, bbox_v_min, bbox_v_max;
546 unsigned int firstBorder_u;
547 unsigned int firstBorder_v;
553 unsigned int thickness=1);
556 unsigned int thickness=1);
vpTracker & operator=(const vpTracker &tracker)
Copy operator.
Implementation of a matrix and operations on matrices.
void setGrayLevelMax(const unsigned int &max)
Class to define colors available for display functionnalities.
void setEllipsoidBadPointsPercentage(const double &percentage=0.0)
void setCog(const vpImagePoint &ip)
void print(std::ostream &os)
This tracker is meant to track a blob (connex pixels with same gray level) on a vpImage.
Class that defines what is a feature generic tracker.
vpImagePoint getCog() const
void setGraphicsThickness(unsigned int t)
Defines a generic 2D polygon.
unsigned int getGrayLevelMin() const
void setComputeMoments(const bool activate)
std::list< vpImagePoint > getEdges() const
vpPolygon getPolygon() const
void setGrayLevelMin(const unsigned int &min)
void init()
Default initialization.
Defines a rectangle in the plane.
double getMeanGrayLevel() const
double getEllipsoidBadPointsPercentage() const
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
unsigned int getGrayLevelMax() const
void setRect(double l, double t, double w, double h)
void setGraphics(const bool activate)
void getEdges(std::list< vpImagePoint > &edges_list) const
static const vpColor blue