![]() |
Visual Servoing Platform version 3.6.0
|
#include <vpMeTracker.h>
Inheritance diagram for vpMeTracker: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 () |
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.
|
virtual |
| 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::initTracking(), 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 94 of file vpTracker.h.
|
inlineinherited |
Return object parameters expressed in the 2D image plane computed by perspective projection.
Definition at line 92 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 | ( | ) |
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(), and 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 NULL 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(), 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 vpMeNurbs, vpMeEllipse, and vpMeLine.
|
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 72 of file vpTracker.h.
Referenced by vpFeaturePoint3D::buildFrom(), vpCircle::changeFrame(), vpCylinder::changeFrame(), vpLine::changeFrame(), vpPoint::changeFrame(), vpSphere::changeFrame(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), 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(), vpLine::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 78 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(), display(), 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 68 of file vpTracker.h.
Referenced by vpMbtDistanceCircle::computeInteractionMatrixError(), vpCircle::computeIntersectionPoint(), vpMeterPixelConversion::convertEllipse(), vpMeterPixelConversion::convertEllipse(), vpMeterPixelConversion::convertEllipse(), vpMeterPixelConversion::convertEllipse(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), vpFeatureBuilder::create(), vpCircle::display(), vpCylinder::display(), vpLine::display(), vpPoint::display(), vpSphere::display(), vpCircle::display(), vpCylinder::display(), vpLine::display(), vpPoint::display(), vpSphere::display(), vpProjectionDisplay::display(), vpProjectionDisplay::displayCamera(), vpFeatureDisplay::displayEllipse(), vpFeatureDisplay::displayEllipse(), vpPose::displayModel(), vpPose::displayModel(), vpImageDraw::drawFrame(), vpImageDraw::drawFrame(), vpPoint::get_w(), vpPoint::get_x(), vpPoint::get_y(), vpCircle::init(), vpCylinder::init(), vpLine::init(), vpPoint::init(), vpSphere::init(), 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().