44 #include <visp3/core/vpColor.h>
45 #include <visp3/core/vpImage.h>
46 #include <visp3/core/vpImagePoint.h>
47 #include <visp3/core/vpPolygon.h>
48 #include <visp3/core/vpRect.h>
49 #include <visp3/core/vpTracker.h>
154 double getArea()
const;
165 bbox.
setRect(this->bbox_u_min, this->bbox_v_min, this->bbox_u_max - this->bbox_u_min + 1,
166 this->bbox_v_max - this->bbox_v_min + 1);
178 double getDistance(
const vpDot2 &distantDot)
const;
186 void getEdges(std::list<vpImagePoint> &edges_list)
const { edges_list = this->ip_edges_list; };
195 std::list<vpImagePoint>
getEdges()
const {
return (this->ip_edges_list); };
205 double getEllipsoidShapePrecision()
const;
206 void getFreemanChain(std::list<unsigned int> &freeman_chain)
const;
208 inline double getGamma()
const {
return this->gamma; };
221 double getGrayLevelPrecision()
const;
223 double getHeight()
const;
224 double getMaxSizeSearchDistancePrecision()
const;
235 double getSizePrecision()
const;
236 double getWidth()
const;
241 unsigned int gray_lvl_max,
unsigned int size = 0);
244 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
vpDot2 &d);
246 void print(std::ostream &os) { os << *
this << std::endl; }
248 unsigned int area_h, std::list<vpDot2> &niceDots);
252 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);
333 this->gray_level_min = 255;
335 this->gray_level_min = min;
349 this->gray_level_max = 255;
351 this->gray_level_max = max;
354 void setGrayLevelPrecision(
const double &grayLevelPrecision);
355 void setHeight(
const double &height);
356 void setMaxSizeSearchDistancePrecision(
const double &maxSizeSearchDistancePrecision);
357 void setSizePrecision(
const double &sizePrecision);
358 void setWidth(
const double &width);
364 std::vector<vpImagePoint> &cogs,
vpImagePoint *cogStar =
nullptr);
366 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
439 virtual bool hasGoodLevel(
const vpImage<unsigned char> &I,
const unsigned int &u,
const unsigned int &v)
const;
440 virtual bool hasReverseLevel(
const vpImage<unsigned char> &I,
const unsigned int &u,
const unsigned int &v)
const;
442 virtual vpDot2 *getInstance();
449 unsigned int &border_u,
unsigned int &border_v);
458 unsigned int getFirstBorder_u()
const {
return this->firstBorder_u; }
466 unsigned int getFirstBorder_v()
const {
return this->firstBorder_v; }
468 bool computeFreemanChainElement(
const vpImage<unsigned char> &I,
const unsigned int &u,
const unsigned int &v,
469 unsigned int &element);
470 void computeFreemanParameters(
const int &u_p,
const int &v_p,
unsigned int &element,
int &du,
int &dv,
float &dS,
471 float &dMu,
float &dMv,
float &dMuv,
float &dMu2,
float &dMv2);
472 void updateFreemanPosition(
unsigned int &u,
unsigned int &v,
const unsigned int &dir);
477 bool isInArea(
const unsigned int &u,
const unsigned int &v)
const;
479 void getGridSize(
unsigned int &gridWidth,
unsigned int &gridHeight);
482 void setArea(
const vpRect &a);
491 unsigned int gray_level_min;
495 unsigned int gray_level_max;
498 double mean_gray_level;
499 double grayLevelPrecision;
501 double sizePrecision;
502 double ellipsoidShapePrecision;
503 double maxSizeSearchDistancePrecision;
504 double allowedBadPointsPercentage_;
509 std::list<unsigned int> direction_list;
510 std::list<vpImagePoint> ip_edges_list;
516 unsigned int thickness;
519 int bbox_u_min, bbox_u_max, bbox_v_min, bbox_v_max;
522 unsigned int firstBorder_u;
523 unsigned int firstBorder_v;
529 unsigned int thickness = 1);
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionalities.
static const vpColor blue
This tracker is meant to track a blob (connex pixels with same gray level) on a vpImage.
unsigned int getGrayLevelMin() const
unsigned int getGrayLevelMax() const
void setGraphics(bool activate)
void getEdges(std::list< vpImagePoint > &edges_list) const
void setGraphicsThickness(unsigned int t)
void print(std::ostream &os)
void setGrayLevelMax(const unsigned int &max)
double getEllipsoidBadPointsPercentage() const
void setGrayLevelMin(const unsigned int &min)
vpPolygon getPolygon() const
void setCog(const vpImagePoint &ip)
vpImagePoint getCog() const
void setEllipsoidBadPointsPercentage(const double &percentage=0.0)
double getMeanGrayLevel() const
void setComputeMoments(bool activate)
std::list< vpImagePoint > getEdges() const
vpColVector get_nij() const
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Implementation of a matrix and operations on matrices.
Defines a generic 2D polygon.
Defines a rectangle in the plane.
void setRect(double l, double t, double w, double h)
Class that defines what is a feature generic tracker.
vpTracker & operator=(const vpTracker &tracker)
Copy operator.
void init()
Default initialization.
void display(vpImage< unsigned char > &I, const std::string &title)
Display a gray-scale image.