![]() |
Visual Servoing Platform
version 3.6.1 under development (2023-12-02)
|
#include <visp3/me/vpMeTracker.h>
Public Member Functions | |
Public Member Functions Inherited from vpTracker | |
vpColVector | get_p () const |
vpColVector | get_cP () const |
Public Attributes | |
Public Attributes Inherited from vpMeTracker | |
std::list< vpMeSite > | list |
vpMe * | me |
unsigned int | init_range |
int | nGoodElement |
const vpImage< bool > * | m_mask |
int | query_range |
bool | display_point |
Public Attributes Inherited from vpTracker | |
vpColVector | p |
vpColVector | cP |
bool | cPAvailable |
Protected Attributes Inherited from vpMeTracker | |
vpMeSite::vpMeSiteDisplayType | selectDisplay |
vpMeTracker () | |
vpMeTracker (const vpMeTracker &meTracker) | |
virtual | ~vpMeTracker () override |
Public Member Functions Inherited from vpMeTracker | |
void | display (const vpImage< unsigned char > &I) |
void | display (const vpImage< vpRGBa > &I) |
void | display (const vpImage< unsigned char > &I, vpColVector &w, unsigned int &index_w) |
unsigned int | getInitRange () |
vpMe * | getMe () |
std::list< vpMeSite > & | getMeList () |
std::list< vpMeSite > | getMeList () const |
int | getNbPoints () const |
void | init () |
void | initTracking (const vpImage< unsigned char > &I) |
unsigned int | numberOfSignal () |
vpMeTracker & | operator= (vpMeTracker &f) |
int | outOfImage (int i, int j, int half, int row, int cols) |
int | outOfImage (const vpImagePoint &iP, int half, int rows, int cols) |
void | reset () |
virtual void | sample (const vpImage< unsigned char > &image, bool doNotTrack=false)=0 |
void | setDisplay (vpMeSite::vpMeSiteDisplayType select) |
void | setInitRange (const unsigned int &r) |
virtual void | setMask (const vpImage< bool > &mask) |
void | setMe (vpMe *p_me) |
void | setMeList (const std::list< vpMeSite > &l) |
unsigned int | totalNumberOfSignal () |
void | track (const vpImage< unsigned char > &I) |
static bool | inMask (const vpImage< bool > *mask, unsigned int i, unsigned int j) |
Contains abstract elements for a Distance to Feature type feature.
2D state = list of points, 3D state = feature
Definition at line 59 of file vpMeTracker.h.
vpMeTracker::vpMeTracker | ( | ) |
vpMeTracker::vpMeTracker | ( | const vpMeTracker & | meTracker | ) |
Copy constructor.
Definition at line 67 of file vpMeTracker.cpp.
References display_point, init(), init_range, list, me, nGoodElement, query_range, and selectDisplay.
|
overridevirtual |
void vpMeTracker::display | ( | const vpImage< unsigned char > & | I | ) |
Display the moving edge sites with a color corresponding to their state.
I | : The image. |
Definition at line 229 of file vpMeTracker.cpp.
References vpMeSite::display(), and list.
Referenced by display(), vpMeEllipse::initTracking(), vpMeEllipse::track(), and vpMeLine::track().
void vpMeTracker::display | ( | const vpImage< unsigned char > & | I, |
vpColVector & | w, | ||
unsigned int & | index_w | ||
) |
Displays the status of moving edge sites
I | : The image. |
w | : vector |
index_w | : index |
Definition at line 245 of file vpMeTracker.cpp.
References display(), vpMeSite::getState(), list, vpMeSite::NO_SUPPRESSION, and vpMeSite::weight.
Display the moving edge sites with a color corresponding to their state.
I | : The image. |
Definition at line 237 of file vpMeTracker.cpp.
References vpMeSite::display(), and list.
|
inlineinherited |
Return object parameters expressed in the 3D camera frame.
Definition at line 93 of file vpTracker.h.
|
inlineinherited |
Return object parameters expressed in the 2D image plane computed by perspective projection.
Definition at line 91 of file vpTracker.h.
|
inline |
|
inline |
Return the moving edges initialisation parameters.
Definition at line 168 of file vpMeTracker.h.
|
inline |
Return the list of moving edges
Definition at line 175 of file vpMeTracker.h.
|
inline |
Return the list of moving edges
Definition at line 182 of file vpMeTracker.h.
|
inline |
Return the number of points that has not been suppressed.
Definition at line 189 of file vpMeTracker.h.
void vpMeTracker::init | ( | void | ) |
Initialize the tracker.
Definition at line 50 of file vpMeTracker.cpp.
References vpTracker::init(), vpMeSite::NONE, vpTracker::p, vpColVector::resize(), and selectDisplay.
Referenced by vpMeTracker().
void vpMeTracker::initTracking | ( | const vpImage< unsigned char > & | I | ) |
Virtual function that is called by lower classes vpMeEllipse, vpMeLine and vpMeNurbs.
vpTrackingException::initializationError | : Moving edges not initialized. |
Definition at line 145 of file vpMeTracker.cpp.
References vpMe::getRange(), vpMeSite::getState(), init_range, vpTrackingException::initializationError, list, me, nGoodElement, vpMeSite::NO_SUPPRESSION, vpMe::setRange(), vpMeSite::track(), vpDERROR_TRACE, and vpERROR_TRACE.
Referenced by vpMeNurbs::initTracking(), vpMeLine::initTracking(), vpMeLine::reSample(), vpMeNurbs::reSample(), and vpMeEllipse::sample().
|
static |
Test whether the pixel is inside the mask. Mask values that are set to true are considered in the tracking.
mask | Mask image or nullptr if not wanted. Mask values that are set to true are considered in the tracking. To disable a pixel, set false. |
i | : Pixel coordinate along the rows. |
j | : Pixel coordinate along the columns. |
Definition at line 123 of file vpMeTracker.cpp.
References vpImage< Type >::getValue().
Referenced by vpMbtFaceDepthDense::computeDesiredFeatures(), vpMbtFaceDepthNormal::computeDesiredFeatures(), vpMbtDistanceKltPoints::computeNbDetectedCurrent(), vpMbtDistanceKltPoints::init(), and track().
unsigned int vpMeTracker::numberOfSignal | ( | ) |
Return number of moving-edges that are tracked.
Definition at line 112 of file vpMeTracker.cpp.
References list.
Referenced by vpMeLine::leastSquare(), vpMeEllipse::leastSquareRobust(), vpMeNurbs::localReSample(), vpMeLine::reSample(), and vpMeNurbs::reSample().
vpMeTracker & vpMeTracker::operator= | ( | vpMeTracker & | f | ) |
Copy operator.
Definition at line 96 of file vpMeTracker.cpp.
References display_point, init_range, list, me, nGoodElement, query_range, and selectDisplay.
int vpMeTracker::outOfImage | ( | const vpImagePoint & | iP, |
int | half, | ||
int | rows, | ||
int | cols | ||
) |
Check if a pixel i,j is out of the image.
Definition at line 138 of file vpMeTracker.cpp.
References vpImagePoint::get_i(), vpImagePoint::get_j(), and vpMath::round().
int vpMeTracker::outOfImage | ( | int | i, |
int | j, | ||
int | half, | ||
int | row, | ||
int | cols | ||
) |
Check if a pixel i,j is out of the image.
Definition at line 133 of file vpMeTracker.cpp.
Referenced by vpMeNurbs::localReSample(), vpMeEllipse::plugHoles(), vpMeNurbs::sample(), vpMeEllipse::sample(), vpMeLine::sample(), vpMeLine::seekExtremities(), and vpMeNurbs::seekExtremities().
void vpMeTracker::reset | ( | ) |
Reset the tracker by removing all the moving edges.
Definition at line 88 of file vpMeTracker.cpp.
References list, and nGoodElement.
Referenced by ~vpMeTracker().
|
pure virtual |
Sample pixels at a given interval.
Implemented in vpMeLine, vpMeEllipse, and vpMeNurbs.
|
inline |
Set type of moving-edges display.
select | : Display type selector. |
Definition at line 238 of file vpMeTracker.h.
|
inline |
|
inlinevirtual |
|
inline |
Set the moving edges initialisation parameters.
p_me | : Moving Edges. |
Definition at line 259 of file vpMeTracker.h.
|
inline |
Set the list of moving edges.
l | : list of Moving Edges. |
Definition at line 266 of file vpMeTracker.h.
unsigned int vpMeTracker::totalNumberOfSignal | ( | ) |
Return the total number of moving-edges.
Definition at line 121 of file vpMeTracker.cpp.
References list.
void vpMeTracker::track | ( | const vpImage< unsigned char > & | I | ) |
Track moving-edges.
I | : Image. |
vpTrackingException::initializationError | : Moving edges not initialized. |
Definition at line 182 of file vpMeTracker.cpp.
References vpMeSite::getState(), vpMeSite::i, vpTrackingException::initializationError, inMask(), vpMeSite::j, list, m_mask, me, nGoodElement, vpMeSite::NO_SUPPRESSION, vpTrackingException::notEnoughPointError, vpMeSite::setState(), vpMeSite::THRESHOLD, vpMeSite::track(), and vpDERROR_TRACE.
Referenced by vpMeEllipse::track(), vpMeLine::track(), and vpMeNurbs::track().
|
inherited |
Feature coordinates expressed in the camera frame cP.
Definition at line 71 of file vpTracker.h.
Referenced by vpFeaturePoint3D::buildFrom(), vpCircle::changeFrame(), vpCylinder::changeFrame(), vpLine::changeFrame(), vpPoint::changeFrame(), vpSphere::changeFrame(), vpFeatureBuilder::create(), vpPoint::get_W(), vpPoint::get_X(), vpPoint::get_Y(), vpPoint::get_Z(), vpCircle::init(), vpCylinder::init(), vpLine::init(), vpPoint::init(), vpSphere::init(), vpMbtPolygon::isVisible(), vpTracker::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpForwardProjection::project(), vpCircle::projection(), vpCylinder::projection(), vpLine::projection(), vpPoint::projection(), vpSphere::projection(), vpPoint::set_W(), vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
|
inherited |
Flag used to indicate if the feature parameters cP expressed in the camera frame are available.
Definition at line 77 of file vpTracker.h.
Referenced by vpTracker::init(), and vpTracker::operator=().
bool vpMeTracker::display_point |
Definition at line 288 of file vpMeTracker.h.
Referenced by operator=(), and vpMeTracker().
unsigned int vpMeTracker::init_range |
Initial range.
Definition at line 76 of file vpMeTracker.h.
Referenced by initTracking(), operator=(), and vpMeTracker().
std::list<vpMeSite> vpMeTracker::list |
Tracking dependent variables/functions List of tracked moving edges points.
Definition at line 72 of file vpMeTracker.h.
Referenced by display(), vpMeLine::display(), initTracking(), vpMeLine::leastSquare(), vpMeEllipse::leastSquareRobust(), vpMeNurbs::localReSample(), numberOfSignal(), operator=(), vpMeEllipse::plugHoles(), reset(), vpMeNurbs::sample(), vpMeEllipse::sample(), vpMeLine::sample(), vpMeLine::seekExtremities(), vpMeNurbs::seekExtremities(), vpMeNurbs::seekExtremitiesCanny(), vpMeLine::setExtremities(), vpMeLine::suppressPoints(), vpMeNurbs::suppressPoints(), vpMeNurbs::supressNearPoints(), totalNumberOfSignal(), vpMeNurbs::track(), track(), vpMeLine::updateDelta(), vpMeNurbs::updateDelta(), vpMeEllipse::updateTheta(), vpMeTracker(), vpMeEllipse::~vpMeEllipse(), and vpMeLine::~vpMeLine().
const vpImage<bool>* vpMeTracker::m_mask |
Mask used to disable tracking on a part of image.
Definition at line 80 of file vpMeTracker.h.
Referenced by track().
vpMe* vpMeTracker::me |
Moving edges initialisation parameters.
Definition at line 74 of file vpMeTracker.h.
Referenced by initTracking(), vpMeEllipse::leastSquareRobust(), vpMeNurbs::localReSample(), operator=(), vpMeEllipse::plugHoles(), vpMeLine::reSample(), vpMeNurbs::reSample(), vpMeNurbs::sample(), vpMeEllipse::sample(), vpMeLine::sample(), vpMeLine::seekExtremities(), vpMeNurbs::seekExtremities(), vpMeNurbs::seekExtremitiesCanny(), vpMeNurbs::supressNearPoints(), track(), and vpMeTracker().
int vpMeTracker::nGoodElement |
Number of good moving-edges that are tracked.
Definition at line 78 of file vpMeTracker.h.
Referenced by initTracking(), operator=(), reset(), track(), and vpMeTracker().
|
inherited |
Feature coordinates expressed in the image plane p. They correspond to 2D normalized coordinates expressed in meters.
Definition at line 67 of file vpTracker.h.
Referenced by vpMbtDistanceCircle::computeInteractionMatrixError(), vpCircle::computeIntersectionPoint(), vpMeterPixelConversion::convertEllipse(), vpFeatureBuilder::create(), vpCircle::display(), vpCylinder::display(), vpLine::display(), vpPoint::display(), vpSphere::display(), vpProjectionDisplay::display(), vpProjectionDisplay::displayCamera(), vpFeatureDisplay::displayEllipse(), vpPose::displayModel(), vpImageDraw::drawFrame(), vpPoint::get_w(), vpPoint::get_x(), vpPoint::get_y(), init(), vpCircle::init(), vpCylinder::init(), vpLine::init(), vpPoint::init(), vpSphere::init(), vpTracker::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpForwardProjection::project(), vpCircle::projection(), vpCylinder::projection(), vpLine::projection(), vpPoint::projection(), vpSphere::projection(), vpPoint::set_w(), vpPoint::set_x(), and vpPoint::set_y().
int vpMeTracker::query_range |
Definition at line 287 of file vpMeTracker.h.
Referenced by operator=(), and vpMeTracker().
|
protected |
Definition at line 86 of file vpMeTracker.h.
Referenced by init(), vpMeNurbs::localReSample(), operator=(), vpMeEllipse::plugHoles(), vpMeNurbs::sample(), vpMeEllipse::sample(), vpMeLine::sample(), vpMeLine::seekExtremities(), vpMeNurbs::seekExtremities(), vpMeNurbs::seekExtremitiesCanny(), and vpMeTracker().