50 #include <visp/vpImage.h>
51 #include <visp/vpRect.h>
52 #include <visp/vpTracker.h>
53 #include <visp/vpColor.h>
54 #include <visp/vpImagePoint.h>
56 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
57 # include <visp/vpList.h>
142 unsigned int thickness=1);
144 double getArea()
const;
157 this->bbox_u_max - this->bbox_u_min + 1,
158 this->bbox_v_max - this->bbox_v_min + 1);
171 double getDistance(
const vpDot2& distantDot )
const;
181 void getEdges(std::list<vpImagePoint> &edges_list) {
182 edges_list = this->ip_edges_list;
192 return allowedBadPointsPercentage_;
195 double getEllipsoidShapePrecision()
const;
196 void getFreemanChain(std::list<unsigned int> &freeman_chain) ;
205 return gray_level_min;
213 return gray_level_max;
215 double getGrayLevelPrecision()
const;
217 double getHeight()
const;
218 double getMaxSizeSearchDistancePrecision()
const;
223 return (this->mean_gray_level);
225 double getSizePrecision()
const;
226 double getSurface()
const;
227 double getWidth()
const;
231 unsigned int size = 0);
233 unsigned int gray_level_min,
unsigned int gray_level_max,
234 unsigned int size = 0 );
242 friend VISP_EXPORT std::ostream& operator<< (std::ostream& os,
vpDot2& d) {
243 return (os <<
"(" << d.
getCog() <<
")" ) ;
246 void print(std::ostream& os) { os << *
this << std::endl ; }
248 int area_u,
int area_v,
249 unsigned int area_w,
unsigned int area_h, std::list<vpDot2> &niceDots );
253 void setArea(
const double & area );
291 allowedBadPointsPercentage_ = 0.;
292 else if (percentage > 1.)
293 allowedBadPointsPercentage_ = 1.;
295 allowedBadPointsPercentage_ = percentage;
298 void setEllipsoidShapePrecision(
const double & ellipsoidShapePrecision);
333 this->gray_level_min = 255;
335 this->gray_level_min = min;
349 this->gray_level_max = 255;
351 this->gray_level_max = max;
353 void setGrayLevelPrecision(
const double & grayLevelPrecision );
354 void setHeight(
const double & height );
355 void setMaxSizeSearchDistancePrecision(
const double & maxSizeSearchDistancePrecision);
356 void setSizePrecision(
const double & sizePrecision );
357 void setSurface(
const double & surface );
358 void setWidth(
const double & width );
364 std::vector<vpImagePoint> &cogs,
vpImagePoint* cogStar = NULL);
432 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
450 std::list<vpImagePoint>::const_iterator it;
451 for (it = ip_edges_list.begin(); it != ip_edges_list.end(); ++it) {
457 int area_u,
int area_v,
458 unsigned int area_w,
unsigned int area_h );
467 const unsigned int &u,
468 const unsigned int &v)
const;
470 const unsigned int &u,
471 const unsigned int &v)
const;
473 virtual vpDot2* getInstance();
478 const double &u = -1.0,
479 const double &v = -1.0);
484 const unsigned int &v,
unsigned int &border_u,
485 unsigned int &border_v);
496 unsigned int getFirstBorder_u()
const {
497 return this->firstBorder_u;
507 unsigned int getFirstBorder_v()
const {
508 return this->firstBorder_v;
512 const unsigned int &u,
513 const unsigned int &v,
514 unsigned int &element);
515 void computeFreemanParameters(
const int &u_p,
516 const int &v_p,
unsigned int &element,
517 int &du,
int &dv,
float &dS,
518 float &dMu,
float &dMv,
520 float &dMu2,
float &dMv2);
521 void updateFreemanPosition(
unsigned int& u,
unsigned int& v,
522 const unsigned int &dir );
528 bool isInArea(
const unsigned int &u,
const unsigned int &v)
const;
530 void getGridSize(
unsigned int &gridWidth,
unsigned int &gridHeight );
532 int u,
int v,
unsigned int w,
unsigned int h);
534 void setArea(
const vpRect & a);
543 unsigned int gray_level_min;
547 unsigned int gray_level_max;
550 double mean_gray_level;
551 double grayLevelPrecision ;
553 double sizePrecision ;
554 double ellipsoidShapePrecision;
555 double maxSizeSearchDistancePrecision;
556 double allowedBadPointsPercentage_;
561 std::list<unsigned int> direction_list;
562 std::list<vpImagePoint> ip_edges_list;
565 bool compute_moment ;
568 unsigned int thickness;
571 int bbox_u_min, bbox_u_max, bbox_v_min, bbox_v_max;
574 unsigned int firstBorder_u;
575 unsigned int firstBorder_v;
581 unsigned int thickness=1);
584 unsigned int thickness=1);
vpTracker & operator=(const vpTracker &tracker)
Copy operator.
Definition of the vpMatrix class.
void setGrayLevelMax(const unsigned int &max)
void setCog(const vpImagePoint &cog)
Provide simple list management.
Class to define colors available for display functionnalities.
void setEllipsoidBadPointsPercentage(const double &percentage=0.0)
void print(std::ostream &os)
void kill()
Destroy the list.
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.
double getEllipsoidBadPointsPercentage()
vpImagePoint getCog() const
void setRect(double left, double top, double width, double height)
unsigned int getGrayLevelMin() const
void setComputeMoments(const bool activate)
void setGraphicsThickness(unsigned int thickness)
void setGrayLevelMin(const unsigned int &min)
void getEdges(std::list< vpImagePoint > &edges_list)
double getMeanGrayLevel()
void init()
Default initialization.
Defines a rectangle in the plane.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
unsigned int getGrayLevelMax() const
void setGraphics(const bool activate)
static const vpColor blue
vp_deprecated void getEdges(vpList< vpImagePoint > &edges_list)