44 #include <visp3/core/vpColor.h> 45 #include <visp3/core/vpDisplay.h> 46 #include <visp3/me/vpMeTracker.h> 49 #include <visp3/core/vpDebug.h> 50 #include <visp3/core/vpTrackingException.h> 52 #define DEBUG_LEVEL1 0 53 #define DEBUG_LEVEL2 0 64 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
74 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
87 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS 111 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS 122 unsigned int number_signal = 0;
125 number_signal =
static_cast<unsigned int>(std::count_if(
list.begin(),
list.end(), isSuppressZero));
126 return number_signal;
143 return (mask == NULL || mask->
getValue(i, j));
152 return (!((i > half + 2) && (i < rows - (half + 2)) && (j > half + 2) && (j < cols - (half + 2))));
159 return (!((i > half + 2) && (i < rows - (half + 2)) && (j > half + 2) && (j < cols - (half + 2))));
172 vpDERROR_TRACE(2,
"Tracking error: Moving edges not initialized");
185 for (std::list<vpMeSite>::iterator it =
list.begin(); it !=
list.end(); ++it) {
206 a = refp.
i_1 - refp.
i;
207 b = refp.
j_1 - refp.
j;
253 vpDERROR_TRACE(2,
"Tracking error: Moving edges not initialized");
265 std::list<vpMeSite>::iterator it =
list.begin();
266 while (it !=
list.end()) {
290 ip2.set_i(s.
i + a * 5);
291 ip2.set_j(s.
j + b * 5);
330 std::cout <<
"begin vpMeTracker::displayList() " << std::endl;
331 std::cout <<
" There are " <<
list.size() <<
" sites in the list " << std::endl;
334 for (std::list<vpMeSite>::const_iterator it =
list.begin(); it !=
list.end(); ++it) {
342 for (std::list<vpMeSite>::const_iterator it =
list.begin(); it !=
list.end(); ++it) {
356 for (std::list<vpMeSite>::iterator it =
list.begin(); it !=
list.end(); ++it) {
vpMeSiteState getState() const
void display(const vpImage< unsigned char > &I)
unsigned int numberOfSignal()
Type getValue(unsigned int i, unsigned int j) const
unsigned int totalNumberOfSignal()
static const vpColor black
Performs search in a given direction(normal) for a given distance(pixels) for a given 'site'...
Point removed due to a threshold problem.
error that can be emited by ViSP classes.
static const vpColor green
const vpImage< bool > * m_mask
Mask used to disable tracking on a part of image.
Class that defines what is a feature generic tracker.
std::list< vpMeSite > list
Error that can be emited by the vpTracker class and its derivates.
Point used by the tracker.
int outOfImage(int i, int j, int half, int row, int cols)
static void displayArrow(const vpImage< unsigned char > &I, const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color=vpColor::white, unsigned int w=4, unsigned int h=2, unsigned int thickness=1)
vpMeTracker & operator=(vpMeTracker &f)
void track(const vpImage< unsigned char > &I)
Track sampled pixels.
Contains abstract elements for a Distance to Feature type feature.
void setState(const vpMeSiteState &flag)
static int round(double x)
void resize(unsigned int i, bool flagNullify=true)
Implementation of column vector and the associated operations.
static bool inMask(const vpImage< bool > *mask, unsigned int i, unsigned int j)
vpMe * me
Moving edges initialisation parameters.
void initTracking(const vpImage< unsigned char > &I)
void init()
Default initialization.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
void setRange(const unsigned int &r)
void track(const vpImage< unsigned char > &im, const vpMe *me, bool test_contraste=true)
vpMeSite::vpMeSiteDisplayType selectDisplay
unsigned int getRange() const
virtual void display(const vpImage< unsigned char > &I, vpColor col)=0