45 #include <visp3/me/vpMeTracker.h>
46 #include <visp3/core/vpDisplay.h>
47 #include <visp3/core/vpColor.h>
49 #include <visp3/core/vpTrackingException.h>
50 #include <visp3/core/vpDebug.h>
53 #define DEBUG_LEVEL1 0
54 #define DEBUG_LEVEL2 0
65 : list(), me(NULL), init_range(1), nGoodElement(0), selectDisplay(
vpMeSite::NONE)
66 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
67 , query_range (0), display_point(false)
75 list(), me(NULL), init_range(1), nGoodElement(0), selectDisplay(
vpMeSite::NONE)
76 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
77 , query_range (0), display_point(false)
88 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
118 static bool isSuppressZero(
const vpMeSite& P){
125 unsigned int number_signal=0;
128 number_signal =
static_cast<unsigned int>(std::count_if(
list.begin(),
list.end(), isSuppressZero));
129 return number_signal;
135 return (
unsigned int)
list.size();
141 return (! ((i> half+2) &&
142 (i< rows -(half+2)) &&
153 return (! ((i> half+2) &&
154 (i< rows -(half+2)) &&
171 vpDERROR_TRACE(2,
"Tracking error: Moving edges not initialized");
173 "Moving edges not initialized")) ;
186 for(std::list<vpMeSite>::iterator it=
list.begin(); it!=
list.end(); ++it){
209 a = refp.
i_1 - refp.
i ;
210 b = refp.
j_1 - refp.
j ;
257 vpDERROR_TRACE(2,
"Tracking error: Moving edges not initialized");
259 "Moving edges not initialized")) ;
266 "too few pixel to track")) ;
274 for(std::list<vpMeSite>::iterator it=
list.begin(); it!=
list.end(); ++it){
335 std::cout <<
"begin vpMeTracker::displayList() " << std::endl ;
336 std::cout<<
" There are "<<
list.size()<<
" sites in the list " << std::endl ;
339 for(std::list<vpMeSite>::const_iterator it=
list.begin(); it!=
list.end(); ++it){
354 for(std::list<vpMeSite>::iterator it=
list.begin(); it!=
list.end(); ++it){
unsigned int getRange() const
void display(const vpImage< unsigned char > &I)
unsigned int numberOfSignal()
unsigned int totalNumberOfSignal()
Performs search in a given direction(normal) for a given distance(pixels) for a given 'site'...
int outOfImage(int i, int j, int half, int rows, int cols)
static const vpColor green
static int round(const double x)
Class that defines what is a feature generic tracker.
vpMeSiteState getState() const
void set_i(const double ii)
std::list< vpMeSite > list
Error that can be emited by the vpTracker class and its derivates.
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)
void set_j(const double jj)
Implementation of column vector and the associated operations.
void track(const vpImage< unsigned char > &im, const vpMe *me, const bool test_contraste=true)
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)
vpMeSite::vpMeSiteDisplayType selectDisplay
virtual void display(const vpImage< unsigned char > &I, vpColor col)=0
void resize(const unsigned int i, const bool flagNullify=true)