ViSP  2.8.0
vpFrameGrabber Class Referenceabstract

#include <vpFrameGrabber.h>

+ Inheritance diagram for vpFrameGrabber:

Public Member Functions

unsigned int getHeight () const
 
unsigned int getWidth () const
 
virtual ~vpFrameGrabber ()
 
virtual void open (vpImage< unsigned char > &I)=0
 
virtual void open (vpImage< vpRGBa > &I)=0
 
virtual void acquire (vpImage< unsigned char > &I)=0
 
virtual void acquire (vpImage< vpRGBa > &I)=0
 
virtual void close ()=0
 

Public Attributes

bool init
 

Protected Attributes

unsigned int height
 
unsigned int width
 

Detailed Description

Base class for all video devices. It is designed to provide a front end to video sources.

This class should provide a virtual function that allows the acquisition of an image.

The example below shows how to use this class.

#include <visp/vpConfig.h>
#include <visp/vpImage.h>
#include <visp/vpImageIo.h>
#include <visp/vpV4l2Grabber.h>
#include <visp/vp1394TwoGrabber.h>
int main()
{
#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394_2)
vpFrameGrabber *g; // Generic framegrabber
#if defined( VISP_HAVE_DC1394_2 )
// specific settings for firewire grabber based on libdc1394-2.x version
g = g_1394_2;
#elif defined( VISP_HAVE_V4L2 )
// specific settings for Video For Linux Two grabber
g_v4l2->setInput(2); // Input 2 on the board
g_v4l2->setWidth(384); // Acquired images are 768 width
g_v4l2->setHeight(288); // Acquired images are 576 height
g_v4l2->setNBuffers(3); // 3 ring buffers to ensure real-time acquisition
g = g_v4l2;
#endif
g->open(I); // Open the framegrabber
g->acquire(I); // Acquire an image
vpImageIo::write(I, "image.pgm"); // Write image on the disk
#endif
}
Author
Eric Marchand (Eric..nosp@m.Marc.nosp@m.hand@.nosp@m.iris.nosp@m.a.fr), Irisa / Inria Rennes

Definition at line 108 of file vpFrameGrabber.h.

Constructor & Destructor Documentation

virtual vpFrameGrabber::~vpFrameGrabber ( )
inlinevirtual

Definition at line 124 of file vpFrameGrabber.h.

Member Function Documentation

virtual void vpFrameGrabber::acquire ( vpImage< unsigned char > &  I)
pure virtual
virtual void vpFrameGrabber::acquire ( vpImage< vpRGBa > &  I)
pure virtual
virtual void vpFrameGrabber::close ( )
pure virtual

This virtual function is used to de-allocate the memory used by a specific frame grabber

Implemented in vp1394TwoGrabber, vpV4l2Grabber, vpVideoReader, vp1394CMUGrabber, vp1394Grabber, vpDiskGrabber, vpOpenCVGrabber, and vpDirectShowGrabber.

unsigned int vpFrameGrabber::getHeight ( ) const
inline

Return the number of rows in the image.

Examples:
AROgre.cpp, AROgreBasic.cpp, HelloWorldOgre.cpp, and HelloWorldOgreAdvanced.cpp.

Definition at line 119 of file vpFrameGrabber.h.

Referenced by vp1394Grabber::acquire(), and vp1394Grabber::open().

unsigned int vpFrameGrabber::getWidth ( ) const
inline

Return the number of columns in the image.

Examples:
AROgre.cpp, AROgreBasic.cpp, HelloWorldOgre.cpp, and HelloWorldOgreAdvanced.cpp.

Definition at line 121 of file vpFrameGrabber.h.

Referenced by vp1394Grabber::acquire(), and vp1394Grabber::open().

virtual void vpFrameGrabber::open ( vpImage< unsigned char > &  I)
pure virtual
virtual void vpFrameGrabber::open ( vpImage< vpRGBa > &  I)
pure virtual

Member Data Documentation