ViSP  2.8.0
tutorial-klt-tracker.cpp
1 
2 #include <visp/vpImageConvert.h>
3 #include <visp/vpKltOpencv.h>
4 #include <visp/vpDisplayOpenCV.h>
5 #include <visp/vpVideoReader.h>
6 
7 int main()
8 {
9 #if (VISP_HAVE_OPENCV_VERSION >= 0x010100) && defined(VISP_HAVE_FFMPEG)
10  vpVideoReader reader;
11  reader.setFileName("video-postcard.mpeg");
12 
14  reader.acquire(I);
15 
16  IplImage * cvI = NULL;
18 
19  // Display initialisation
20  vpDisplayOpenCV d(I, 0, 0, "Klt tracking");
23 
24  vpKltOpencv tracker;
25  // Set tracker parameters
26  tracker.setMaxFeatures(200);
27  tracker.setWindowSize(10);
28  tracker.setQuality(0.01);
29  tracker.setMinDistance(15);
30  tracker.setHarrisFreeParameter(0.04);
31  tracker.setBlockSize(9);
32  tracker.setUseHarris(1);
33  tracker.setPyramidLevels(3);
34 
35  // Initialise the tracking
36  tracker.initTracking(cvI);
37 
38  while ( ! reader.end() )
39  {
40  reader.acquire(I);
42 
44  tracker.track(cvI);
45 
46  tracker.display(I, vpColor::red);
48  }
49 
51 
52  cvReleaseImage(&cvI);
53 
54  return 0;
55 #endif
56 }
void setQuality(double input)
Definition: vpKltOpencv.h:263
void track(const IplImage *I)
static void convert(const vpImage< unsigned char > &src, vpImage< vpRGBa > &dest)
void setUseHarris(const int input)
Definition: vpKltOpencv.h:272
Class that enables to manipulate easily a video file or a sequence of images. As it inherits from the...
void display(const vpImage< unsigned char > &I, vpColor color=vpColor::red, unsigned int thickness=1)
void setPyramidLevels(const int input)
Definition: vpKltOpencv.h:262
void setBlockSize(const int input)
Definition: vpKltOpencv.h:218
static void flush(const vpImage< unsigned char > &I)
Definition: vpDisplay.cpp:1991
static const vpColor red
Definition: vpColor.h:167
void setWindowSize(const int input)
Definition: vpKltOpencv.h:273
static void display(const vpImage< unsigned char > &I)
Definition: vpDisplay.cpp:203
The vpDisplayOpenCV allows to display image using the opencv library.
void acquire(vpImage< vpRGBa > &I)
void setFileName(const char *filename)
void initTracking(const IplImage *I, const IplImage *mask=NULL)
Wrapper for the KLT (Kanade-Lucas-Tomasi) feature tracker implemented in OpenCV.
Definition: vpKltOpencv.h:103
virtual bool getClick(bool blocking=true)=0
void setMaxFeatures(const int input)
void setMinDistance(double input)
Definition: vpKltOpencv.h:242
void setHarrisFreeParameter(double input)
Definition: vpKltOpencv.h:226