48 #include <visp3/core/vpConfig.h> 49 #include <visp3/core/vpDisplay.h> 50 #include <visp3/core/vpImage.h> 51 #include <visp3/core/vpImagePoint.h> 52 #include <visp3/core/vpPolygon.h> 53 #include <visp3/core/vpRect.h> 54 #include <visp3/core/vpTracker.h> 62 #pragma comment(linker, "/STACK:256000000") // Increase max recursion depth 212 bbox.
setRect(this->u_min, this->v_min, this->u_max - this->u_min + 1, this->v_max - this->v_min + 1);
229 inline std::list<vpImagePoint>
getEdges()
const {
return this->ip_edges_list; };
239 inline std::list<vpImagePoint>
getConnexities()
const {
return this->ip_connexities_list; };
241 inline double getGamma()
const {
return this->gamma; };
268 inline unsigned int getWidth()
const {
return (this->u_max - this->u_min + 1); };
277 inline unsigned int getHeight()
const {
return (this->v_max - this->v_min + 1); };
282 unsigned int gray_level_max);
285 bool operator==(
const vpDot &d)
const;
286 bool operator!=(
const vpDot &d)
const;
287 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
vpDot &d);
289 void print(std::ostream &os) { os << *
this << std::endl; }
315 void setConnexity(vpConnexityType type) { this->connexityType = type; };
316 void setMaxDotSize(
double percentage);
317 void setGrayLevelMin(
const unsigned int &level_min) { this->gray_level_min = level_min; };
318 void setGrayLevelMax(
const unsigned int &level_max) { this->gray_level_max = level_max; };
319 void setGrayLevelPrecision(
const double &grayLevelPrecision);
348 std::list<vpImagePoint> ip_connexities_list;
351 std::list<vpImagePoint> ip_edges_list;
357 vpConnexityType connexityType;
363 unsigned int u_min, u_max, v_min, v_max;
368 unsigned int thickness;
370 double maxDotSizePercentage;
371 unsigned char gray_level_out;
373 double mean_gray_level;
374 unsigned int gray_level_min;
375 unsigned int gray_level_max;
376 double grayLevelPrecision;
386 void setGrayLevelOut();
387 bool connexe(
const vpImage<unsigned char> &I,
unsigned int u,
unsigned int v,
double &mean_value,
double &u_cog,
388 double &v_cog,
double &n);
389 bool connexe(
const vpImage<unsigned char> &I,
unsigned int u,
unsigned int v,
double &mean_value,
double &u_cog,
390 double &v_cog,
double &n, std::vector<bool> &checkTab);
397 unsigned int thickness = 1);
vpTracker & operator=(const vpTracker &tracker)
Copy operator.
void setConnexity(vpConnexityType type)
Class to define colors available for display functionnalities.
void setComputeMoments(bool activate)
double getGrayLevelPrecision() const
void print(std::ostream &os)
void setGrayLevelMin(const unsigned int &level_min)
double getMeanGrayLevel() const
vpPolygon getPolygon() const
static const unsigned int SPIRAL_SEARCH_SIZE
Class that defines what is a feature generic tracker.
Defines a generic 2D polygon.
vpImagePoint getCog() const
void setGraphicsThickness(unsigned int t)
unsigned int getHeight() const
void setGrayLevelMax(const unsigned int &level_max)
void init()
Default initialization.
This tracker is meant to track a dot (connected pixels with same gray level) on a vpImage...
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 getWidth() const
void setGraphics(bool activate)
std::list< vpImagePoint > getEdges() const
void setRect(double l, double t, double w, double h)
std::list< vpImagePoint > getConnexities() const
void setCog(const vpImagePoint &ip)
double getMaxDotSize() const