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>
135 unsigned int thickness=1)
const;
137 double getArea()
const;
150 this->bbox_u_max - this->bbox_u_min + 1,
151 this->bbox_v_max - this->bbox_v_min + 1);
164 double getDistance(
const vpDot2& distantDot )
const;
174 void getEdges(std::list<vpImagePoint> &edges_list)
const {
175 edges_list = this->ip_edges_list;
187 return(this->ip_edges_list);
197 return allowedBadPointsPercentage_;
200 double getEllipsoidShapePrecision()
const;
201 void getFreemanChain(std::list<unsigned int> &freeman_chain)
const;
203 inline double getGamma()
const {
return this->gamma;};
210 return gray_level_min;
218 return gray_level_max;
220 double getGrayLevelPrecision()
const;
222 double getHeight()
const;
223 double getMaxSizeSearchDistancePrecision()
const;
228 return (this->mean_gray_level);
230 double getSizePrecision()
const;
231 double getWidth()
const;
235 unsigned int size = 0);
237 unsigned int gray_lvl_min,
unsigned int gray_lvl_max,
238 unsigned int size = 0 );
241 friend VISP_EXPORT std::ostream& operator<< (std::ostream& os,
vpDot2& d);
243 void print(std::ostream& os) { os << *
this << std::endl ; }
245 int area_u,
int area_v,
246 unsigned int area_w,
unsigned int area_h, std::list<vpDot2> &niceDots );
250 void setArea(
const double & area );
288 allowedBadPointsPercentage_ = 0.;
289 else if (percentage > 1.)
290 allowedBadPointsPercentage_ = 1.;
292 allowedBadPointsPercentage_ = percentage;
295 void setEllipsoidShapePrecision(
const double & ellipsoidShapePrecision);
330 this->gray_level_min = 255;
332 this->gray_level_min = min;
346 this->gray_level_max = 255;
348 this->gray_level_max = max;
350 void setGrayLevelPrecision(
const double & grayLevelPrecision );
351 void setHeight(
const double & height );
352 void setMaxSizeSearchDistancePrecision(
const double & maxSizeSearchDistancePrecision);
353 void setSizePrecision(
const double & sizePrecision );
354 void setWidth(
const double & width );
360 std::vector<vpImagePoint> &cogs,
vpImagePoint* cogStar = NULL);
432 const unsigned int &u,
433 const unsigned int &v)
const;
435 const unsigned int &u,
436 const unsigned int &v)
const;
438 virtual vpDot2* getInstance();
443 const double &u = -1.0,
444 const double &v = -1.0);
449 const unsigned int &v,
unsigned int &border_u,
450 unsigned int &border_v);
461 unsigned int getFirstBorder_u()
const {
462 return this->firstBorder_u;
472 unsigned int getFirstBorder_v()
const {
473 return this->firstBorder_v;
477 const unsigned int &u,
478 const unsigned int &v,
479 unsigned int &element);
480 void computeFreemanParameters(
const int &u_p,
481 const int &v_p,
unsigned int &element,
482 int &du,
int &dv,
float &dS,
483 float &dMu,
float &dMv,
485 float &dMu2,
float &dMv2);
486 void updateFreemanPosition(
unsigned int& u,
unsigned int& v,
487 const unsigned int &dir );
493 bool isInArea(
const unsigned int &u,
const unsigned int &v)
const;
495 void getGridSize(
unsigned int &gridWidth,
unsigned int &gridHeight );
497 int u,
int v,
unsigned int w,
unsigned int h);
499 void setArea(
const vpRect & a);
508 unsigned int gray_level_min;
512 unsigned int gray_level_max;
515 double mean_gray_level;
516 double grayLevelPrecision ;
518 double sizePrecision ;
519 double ellipsoidShapePrecision;
520 double maxSizeSearchDistancePrecision;
521 double allowedBadPointsPercentage_;
526 std::list<unsigned int> direction_list;
527 std::list<vpImagePoint> ip_edges_list;
530 bool compute_moment ;
533 unsigned int thickness;
536 int bbox_u_min, bbox_u_max, bbox_v_min, bbox_v_max;
539 unsigned int firstBorder_u;
540 unsigned int firstBorder_v;
546 unsigned int thickness=1);
549 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)
unsigned int getGrayLevelMin() const
void setComputeMoments(const bool activate)
std::list< vpImagePoint > getEdges() 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