ViSP  2.10.0
tutorial-me-line-tracker.cpp
1 
2 #include <visp/vp1394CMUGrabber.h>
3 #include <visp/vp1394TwoGrabber.h>
4 #include <visp/vpV4l2Grabber.h>
5 #include <visp/vpDisplayGDI.h>
6 #include <visp/vpDisplayOpenCV.h>
7 #include <visp/vpDisplayX.h>
8 #include <visp/vpMeLine.h>
9 
10 int main()
11 {
12 #if (defined(VISP_HAVE_DC1394_2) || defined(VISP_HAVE_CMU1394) || defined(VISP_HAVE_V4L2))
13  try {
15 
16 #if defined(VISP_HAVE_DC1394_2)
17  vp1394TwoGrabber g(false);
18 #elif defined(VISP_HAVE_CMU1394)
20 #elif defined(VISP_HAVE_V4L2)
21  vpV4l2Grabber g;
22 #endif
23  g.open(I);
24  g.acquire(I);
25 
26 #if defined(VISP_HAVE_X11)
27  vpDisplayX d(I, 0, 0, "Camera view");
28 #elif defined(VISP_HAVE_GDI)
29  vpDisplayGDI d(I, 0, 0, "Camera view");
30 #elif defined(VISP_HAVE_OPENCV)
31  vpDisplayOpenCV d(I, 0, 0, "Camera view");
32 #else
33  std::cout << "No image viewer is available..." << std::endl;
34 #endif
35 
38 
39  vpMe me;
40  me.setRange(25);
41  me.setThreshold(15000);
42  me.setSampleStep(10);
43 
44  vpMeLine line;
45  line.setMe(&me);
47  line.initTracking(I);
48 
49  while(1) {
50  g.acquire(I);
52  line.track(I);
53  line.display(I, vpColor::red);
55  }
56  }
57  catch(vpException e) {
58  std::cout << "Catch an exception: " << e << std::endl;
59  }
60 #endif
61 }
void acquire(vpImage< unsigned char > &I)
void open(vpImage< unsigned char > &I)
Display for windows using GDI (available on any windows 32 platform).
Definition: vpDisplayGDI.h:132
void setSampleStep(const double &s)
Definition: vpMe.h:271
Define the X11 console to display images.
Definition: vpDisplayX.h:152
error that can be emited by ViSP classes.
Definition: vpException.h:76
void track(const vpImage< unsigned char > &Im)
Definition: vpMeLine.cpp:816
Contains predetermined masks for sites and holds moving edges tracking parameters.
Definition: vpMe.h:70
static void flush(const vpImage< unsigned char > &I)
Definition: vpDisplay.cpp:2232
static const vpColor red
Definition: vpColor.h:167
void display(const vpImage< unsigned char > &I, vpColor col)
Definition: vpMeLine.cpp:245
Firewire cameras video capture based on CMU 1394 Digital Camera SDK.
void setDisplay(vpMeSite::vpMeSiteDisplayType select)
Definition: vpMeTracker.h:108
static void display(const vpImage< unsigned char > &I)
Definition: vpDisplay.cpp:210
Class that tracks in an image a line moving edges.
Definition: vpMeLine.h:156
The vpDisplayOpenCV allows to display image using the opencv library.
void initTracking(const vpImage< unsigned char > &I)
Definition: vpMeLine.cpp:259
Class for the Video4Linux2 video device.
void setThreshold(const double &t)
Definition: vpMe.h:299
Class for firewire ieee1394 video devices using libdc1394-2.x api.
void setRange(const unsigned int &r)
Definition: vpMe.h:229
void setMe(vpMe *p_me)
Definition: vpMeTracker.h:142