42#include <visp3/core/vpConfig.h>
43#include <visp3/core/vpDisplay.h>
44#include <visp3/core/vpImage.h>
45#include <visp3/core/vpImagePoint.h>
46#include <visp3/core/vpPolygon.h>
47#include <visp3/core/vpRect.h>
48#include <visp3/core/vpTracker.h>
56#pragma comment(linker, "/STACK:256000000")
136#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
203 virtual ~vpDot() VP_OVERRIDE;
219 const unsigned int index_0 = 0;
220 const unsigned int index_1 = 1;
221 const unsigned int index_2 = 2;
245 bbox.
setRect(m_u_min, m_v_min, (m_u_max - m_u_min) + 1, (m_v_max - m_v_min) + 1);
263 inline std::list<vpImagePoint>
getEdges()
const {
return m_ip_edges_list; }
271 inline std::list<vpImagePoint>
getConnexities()
const {
return m_ip_connexities_list; }
298 inline unsigned int getWidth()
const {
return ((m_u_max - m_u_min) + 1); }
305 inline unsigned int getHeight()
const {
return ((m_v_max - m_v_min) + 1); }
310 unsigned int gray_level_max);
313 bool operator==(
const vpDot &d)
const;
314 bool operator!=(
const vpDot &d)
const;
315 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
vpDot &d);
317 void print(std::ostream &os) { os << *
this << std::endl; }
343 void setMaxDotSize(
double percentage);
346 void setGrayLevelPrecision(
const double &grayLevelPrecision);
378 unsigned int thickness = 1);
382#ifndef VISP_BUILD_DEPRECATED_FUNCTIONS
384 static const unsigned int SPIRAL_SEARCH_SIZE;
447 std::list<vpImagePoint> m_ip_connexities_list;
450 std::list<vpImagePoint> m_ip_edges_list;
456 vpConnexityType m_connexityType;
462 unsigned int m_u_min, m_u_max, m_v_min, m_v_max;
467 unsigned int m_thickness;
469 double m_maxDotSizePercentage;
470 unsigned char m_gray_level_out;
472 double m_mean_gray_level;
473 unsigned int m_gray_level_min;
474 unsigned int m_gray_level_max;
475 double m_grayLevelPrecision;
481 bool m_compute_moment;
485 void setGrayLevelOut();
489 vpImagePoint &uv_cog,
unsigned int &npoints, std::vector<bool> &checkTab);
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionalities.
This tracker is meant to track a dot (connected pixels with same gray level) on a vpImage.
void display(const vpImage< unsigned char > &I, vpColor color=vpColor::red, unsigned int thickness=1) const
std::list< vpImagePoint > getEdges() const
std::list< vpImagePoint > getConnexities() const
unsigned int getWidth() const
void setGraphics(bool activate)
void setConnexity(const vpConnexityType &connexityType)
double getMeanGrayLevel() const
void setCog(const vpImagePoint &cog)
void setGraphicsThickness(unsigned int thickness)
static const unsigned int SPIRAL_SEARCH_SIZE
double getMaxDotSize() const
void print(std::ostream &os)
vpPolygon getPolygon() const
void setGrayLevelMax(const unsigned int &level_max)
void setGrayLevelMin(const unsigned int &level_min)
void setComputeMoments(bool activate)
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 ...
Definition of the vpImage class member functions.
Defines a generic 2D polygon.
Defines a rectangle in the plane.
void setRect(double l, double t, double w, double h)
vpTracker & operator=(const vpTracker &tracker)
Copy operator.
void init()
Default initialization.
vpTracker()
Default constructor.