39#include <visp3/core/vpColor.h>
40#include <visp3/core/vpDisplay.h>
41#include <visp3/me/vpMeTracker.h>
44#include <visp3/core/vpDebug.h>
45#include <visp3/core/vpTrackingException.h>
58 : list(), me(NULL), init_range(1), nGoodElement(0), m_mask(NULL), selectDisplay(
vpMeSite::NONE)
59#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
61 query_range(0), display_point(false)
68 :
vpTracker(meTracker), list(), me(NULL), init_range(1), nGoodElement(0), m_mask(NULL), selectDisplay(
vpMeSite::NONE)
69#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
71 query_range(0), display_point(false)
82#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
103#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
114 unsigned int number_signal = 0;
117 number_signal =
static_cast<unsigned int>(std::count_if(
list.begin(),
list.end(), isSuppressZero));
118 return number_signal;
126 return (mask == NULL || mask->
getValue(i, j));
135 return (!((i > half + 2) && (i < rows - (half + 2)) && (j > half + 2) && (j < cols - (half + 2))));
142 return (!((i > half + 2) && (i < rows - (half + 2)) && (j > half + 2) && (j < cols - (half + 2))));
148 vpDERROR_TRACE(2,
"Tracking error: Moving edges not initialized");
159 for (std::list<vpMeSite>::iterator it =
list.begin(); it !=
list.end(); ++it) {
185 vpDERROR_TRACE(2,
"Tracking error: Moving edges not initialized");
197 std::list<vpMeSite>::iterator it =
list.begin();
198 while (it !=
list.end()) {
231 for (std::list<vpMeSite>::const_iterator it =
list.begin(); it !=
list.end(); ++it) {
239 for (std::list<vpMeSite>::const_iterator it =
list.begin(); it !=
list.end(); ++it) {
247 for (std::list<vpMeSite>::iterator it =
list.begin(); it !=
list.end(); ++it) {
Implementation of column vector and the associated operations.
void resize(unsigned int i, bool flagNullify=true)
error that can be emitted by ViSP classes.
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.
Type getValue(unsigned int i, unsigned int j) const
static int round(double x)
Performs search in a given direction(normal) for a given distance(pixels) for a given 'site'....
int j
Coordinates along j of a site.
@ THRESHOLD
Point removed due to a threshold problem.
@ NO_SUPPRESSION
Point used by the tracker.
double weight
Uncertainty of point given as a probability between 0 and 1.
void display(const vpImage< unsigned char > &I)
int i
Coordinate along i of a site.
vpMeSiteState getState() const
void track(const vpImage< unsigned char > &im, const vpMe *me, bool test_likelihood=true)
void setState(const vpMeSiteState &flag)
Contains abstract elements for a Distance to Feature type feature.
void initTracking(const vpImage< unsigned char > &I)
const vpImage< bool > * m_mask
Mask used to disable tracking on a part of image.
unsigned int numberOfSignal()
int nGoodElement
Number of good moving-edges that are tracked.
vpMeSite::vpMeSiteDisplayType selectDisplay
int outOfImage(int i, int j, int half, int row, int cols)
void track(const vpImage< unsigned char > &I)
unsigned int totalNumberOfSignal()
std::list< vpMeSite > list
void display(const vpImage< unsigned char > &I)
unsigned int init_range
Initial range.
static bool inMask(const vpImage< bool > *mask, unsigned int i, unsigned int j)
vpMeTracker & operator=(vpMeTracker &f)
vpMe * me
Moving edges initialisation parameters.
void setRange(const unsigned int &r)
unsigned int getRange() const
Class that defines what is a feature generic tracker.
void init()
Default initialization.
Error that can be emitted by the vpTracker class and its derivatives.
@ notEnoughPointError
Not enough point to track.
@ initializationError
Tracker initialization error.