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")
128 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
238 bbox.
setRect(this->u_min, this->v_min, this->u_max - this->u_min + 1, this->v_max - this->v_min + 1);
255 inline std::list<vpImagePoint>
getEdges()
const {
return this->ip_edges_list; };
265 inline std::list<vpImagePoint>
getConnexities()
const {
return this->ip_connexities_list; };
267 inline double getGamma()
const {
return this->gamma; };
294 inline unsigned int getWidth()
const {
return (this->u_max - this->u_min + 1); };
303 inline unsigned int getHeight()
const {
return (this->v_max - this->v_min + 1); };
308 unsigned int gray_level_max);
311 bool operator==(
const vpDot &d)
const;
312 bool operator!=(
const vpDot &d)
const;
313 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
vpDot &d);
315 void print(std::ostream &os) { os << *
this << std::endl; }
343 void setMaxDotSize(
double percentage);
344 void setGrayLevelMin(
const unsigned int &level_min) { this->gray_level_min = level_min; };
345 void setGrayLevelMax(
const unsigned int &level_max) { this->gray_level_max = level_max; };
346 void setGrayLevelPrecision(
const double &grayLevelPrecision);
375 std::list<vpImagePoint> ip_connexities_list;
378 std::list<vpImagePoint> ip_edges_list;
384 vpConnexityType connexityType;
390 unsigned int u_min, u_max, v_min, v_max;
395 unsigned int thickness;
397 double maxDotSizePercentage;
398 unsigned char gray_level_out;
400 double mean_gray_level;
401 unsigned int gray_level_min;
402 unsigned int gray_level_max;
403 double grayLevelPrecision;
413 void setGrayLevelOut();
414 bool connexe(
const vpImage<unsigned char> &I,
unsigned int u,
unsigned int v,
double &mean_value,
double &u_cog,
415 double &v_cog,
double &n);
416 bool connexe(
const vpImage<unsigned char> &I,
unsigned int u,
unsigned int v,
double &mean_value,
double &u_cog,
417 double &v_cog,
double &n, std::vector<bool> &checkTab);
424 unsigned int thickness = 1);
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionnalities.
This tracker is meant to track a dot (connected pixels with same gray level) on a vpImage.
std::list< vpImagePoint > getConnexities() const
unsigned int getWidth() const
void setGraphics(bool activate)
void setCog(const vpImagePoint &ip)
void setGraphicsThickness(unsigned int t)
double getMeanGrayLevel() const
std::list< vpImagePoint > getEdges() const
double getMaxDotSize() const
void print(std::ostream &os)
vpPolygon getPolygon() const
void setGrayLevelMax(const unsigned int &level_max)
void setConnexity(vpConnexityType type)
void setGrayLevelMin(const unsigned int &level_min)
void setComputeMoments(bool activate)
static const unsigned int SPIRAL_SEARCH_SIZE
double getGrayLevelPrecision() const
vpColVector get_nij() const
vpImagePoint getCog() const
unsigned int getHeight() const
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
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.