36#ifndef _vpMeEllipse_h_
37#define _vpMeEllipse_h_
39#include <visp3/core/vpColVector.h>
40#include <visp3/core/vpMatrix.h>
42#include <visp3/core/vpImagePoint.h>
43#include <visp3/me/vpMeSite.h>
44#include <visp3/me/vpMeTracker.h>
46#include <visp3/core/vpColor.h>
47#include <visp3/core/vpImage.h>
246 bool trackArc =
false);
263 const vpImagePoint *pt2 = NULL,
bool trackCircle =
false);
269 void printParameters()
const;
294 else if (threshold > 1) {
308#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
319 vp_deprecated
inline double getA()
const {
return a; }
327 vp_deprecated
inline double getB()
const {
return b; }
336 vp_deprecated
inline double getE()
const {
return e; }
421 double e_p,
double low_alpha,
double high_alpha);
427#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
473#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
626#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
640#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
641 void computeMoments();
663 const double &E,
const double &smallalpha,
const double &highalpha,
683 const double &E,
const double &smallalpha,
const double &highalpha,
686#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
689 const double &E,
const double &smallalpha,
const double &highalpha,
692 const double &E,
const double &smallalpha,
const double &highalpha,
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionalities.
static const vpColor green
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.
double m_n20
Second order centered and normalized moments .
double m_arcEpsilon
Epsilon value used to check if arc angles are the same.
double a
is the semi major axis of the ellipse.
void computePointOnEllipse(const double angle, vpImagePoint &iP)
double getHighestAngle() const
double se
Value of sin(e).
double mu11
Second order centered moments.
double m10
First order raw moments.
void leastSquare(const vpImage< unsigned char > &I, const std::vector< vpImagePoint > &iP)
double getSmallestAngle() const
vp_deprecated double get_mu20() const
double m_vc
Value of v coordinate of iPc.
unsigned int m_numberOfGoodPoints
Number of correct points tracked along the ellipse.
vpImagePoint iPc
The coordinates of the ellipse center.
unsigned int plugHoles(const vpImage< unsigned char > &I)
std::list< double > angle
Stores the value in increasing order of the angle on the ellipse for each vpMeSite.
vp_deprecated double getA() const
vp_deprecated double get_m20() const
double b
is the semi minor axis of the ellipse.
vp_deprecated double get_m11() const
double m_uc
Value of u coordinate of iPc.
bool m_trackCircle
Track a circle (true) or an ellipse (false).
double ce
Value of cos(e).
vp_deprecated double get_m00() const
void setEndpoints(const vpImagePoint &pt1, const vpImagePoint &pt2)
vpImagePoint getSecondEndpoint() const
vpImagePoint getFirstEndpoint() const
double m11
Second order raw moments.
vp_deprecated void getEquationParam(double &A, double &B, double &E)
void setThresholdRobust(double threshold)
vpColVector get_ABE() const
vp_deprecated double get_mu11() const
unsigned int getNumberOfGoodPoints() const
bool m_trackArc
Track an arc of ellipse/circle (true) or a complete one (false).
vp_deprecated double get_mu02() const
vpImagePoint getCenter() const
unsigned int leastSquareRobust(const vpImage< unsigned char > &I)
vp_deprecated double getB() const
double computeTheta(const vpImagePoint &iP) const
vpColVector get_nij() const
vp_deprecated double get_m10() const
double m_n02
Second order centered and normalized moments .
unsigned int getExpectedDensity() const
unsigned int m_expectedDensity
Expected number of points to track along the ellipse.
vp_deprecated double get_m02() const
double m_n11
Second order centered and normalized moments .
vp_deprecated double get_m01() const
static void displayEllipse(const vpImage< unsigned char > &I, const vpImagePoint ¢er, const double &A, const double &B, const double &E, const double &smallalpha, const double &highalpha, const vpColor &color=vpColor::green, unsigned int thickness=1)
double thresholdWeight
Threshold on the weights for the robust least square.
vp_deprecated double getE() const
double computeAngleOnEllipse(const vpImagePoint &pt) const
void initTracking(const vpImage< unsigned char > &I)
virtual void sample(const vpImage< unsigned char > &image, bool doNotTrack=false)=0
void track(const vpImage< unsigned char > &I)
void display(const vpImage< unsigned char > &I)