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) {
298 thresholdWeight = threshold;
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; }
348 vp_deprecated
inline double get_m00()
const {
return m00; }
356 vp_deprecated
inline double get_m10()
const {
return m10; }
364 vp_deprecated
inline double get_m01()
const {
return m01; }
372 vp_deprecated
inline double get_m11()
const {
return m11; }
380 vp_deprecated
inline double get_m20()
const {
return m20; }
388 vp_deprecated
inline double get_m02()
const {
return m02; }
395 vp_deprecated
inline double get_mu11()
const {
return mu11; }
402 vp_deprecated
inline double get_mu02()
const {
return mu02; }
409 vp_deprecated
inline double get_mu20()
const {
return mu20; }
421 double e_p,
double low_alpha,
double high_alpha);
427#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
473#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
521 void computeAbeFromNij();
528 double computeAngleOnEllipse(
const vpImagePoint &pt)
const;
536 void computeKiFromNij();
543 void computeNijFromAbe();
552 void computePointOnEllipse(
const double angle,
vpImagePoint &iP);
570 double computeTheta(
double u,
double v)
const;
581 void getParameters();
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.
Class that tracks an ellipse using moving edges.
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.
double getHighestAngle() const
double se
Value of sin(e).
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.
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
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
vp_deprecated double getB() 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
double thresholdWeight
Threshold on the weights for the robust least square.
vp_deprecated double getE() const
Contains abstract elements for a Distance to Feature type feature.
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)