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 214 bbox.
setRect(this->u_min, this->v_min, this->u_max - this->u_min + 1, this->v_max - this->v_min + 1);
231 inline std::list<vpImagePoint>
getEdges()
const {
return this->ip_edges_list; };
241 inline std::list<vpImagePoint>
getConnexities()
const {
return this->ip_connexities_list; };
243 inline double getGamma()
const {
return this->gamma; };
270 inline unsigned int getWidth()
const {
return (this->u_max - this->u_min + 1); };
279 inline unsigned int getHeight()
const {
return (this->v_max - this->v_min + 1); };
284 unsigned int gray_level_max);
287 bool operator==(
const vpDot &d)
const;
288 bool operator!=(
const vpDot &d)
const;
289 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
vpDot &d);
291 void print(std::ostream &os) { os << *
this << std::endl; }
317 void setConnexity(vpConnexityType type) { this->connexityType = type; };
318 void setMaxDotSize(
double percentage);
319 void setGrayLevelMin(
const unsigned int &level_min) { this->gray_level_min = level_min; };
320 void setGrayLevelMax(
const unsigned int &level_max) { this->gray_level_max = level_max; };
321 void setGrayLevelPrecision(
const double &grayLevelPrecision);
350 std::list<vpImagePoint> ip_connexities_list;
353 std::list<vpImagePoint> ip_edges_list;
359 vpConnexityType connexityType;
365 unsigned int u_min, u_max, v_min, v_max;
370 unsigned int thickness;
372 double maxDotSizePercentage;
373 unsigned char gray_level_out;
375 double mean_gray_level;
376 unsigned int gray_level_min;
377 unsigned int gray_level_max;
378 double grayLevelPrecision;
388 void setGrayLevelOut();
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);
391 bool connexe(
const vpImage<unsigned char> &I,
unsigned int u,
unsigned int v,
double &mean_value,
double &u_cog,
392 double &v_cog,
double &n, std::vector<bool> &checkTab);
399 unsigned int thickness = 1);
vpTracker & operator=(const vpTracker &tracker)
Copy operator.
void setConnexity(vpConnexityType type)
Class to define colors available for display functionnalities.
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 setGraphics(const bool activate)
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...
void setComputeMoments(const bool activate)
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
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