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>
59#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
69#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
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");
153 unsigned int range_tmp =
me->getRange();
159 for (std::list<vpMeSite>::iterator it =
list.begin(); it !=
list.end(); ++it) {
179 me->setRange(range_tmp);
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.
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)
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.
vpTracker()
Default constructor.
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.