Visual Servoing Platform  version 3.5.0 under development (2022-02-15)
vpFrameGrabber Class Referenceabstract

#include <visp3/core/vpFrameGrabber.h>

+ Inheritance diagram for vpFrameGrabber:

Public Member Functions

 vpFrameGrabber ()
 
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
 
Inherited functionalities from vpFramegrabber
unsigned int getHeight () const
 
unsigned int getWidth () const
 

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 <visp3/core/vpConfig.h>
#include <visp3/core/vpImage.h>
#include <visp3/io/vpImageIo.h>
#include <visp3/sensor/vp1394TwoGrabber.h>
#include <visp3/sensor/vpV4l2Grabber.h>
int main()
{
#if defined(VISP_HAVE_V4L2) || defined(VISP_HAVE_DC1394)
vpFrameGrabber *g; // Generic framegrabber
#if defined( VISP_HAVE_DC1394 )
// 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 101 of file vpFrameGrabber.h.

Constructor & Destructor Documentation

◆ vpFrameGrabber()

vpFrameGrabber::vpFrameGrabber ( )
inline

Definition at line 120 of file vpFrameGrabber.h.

◆ ~vpFrameGrabber()

virtual vpFrameGrabber::~vpFrameGrabber ( )
inlinevirtual

Definition at line 121 of file vpFrameGrabber.h.

Member Function Documentation

◆ acquire() [1/2]

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

◆ acquire() [2/2]

◆ close()

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, vpFlyCaptureGrabber, vpDiskGrabber, vpPylonGrabber, vpDirectShowGrabber, vpPylonGrabberGigE, and vpPylonGrabberUsb.

◆ getHeight()

unsigned int vpFrameGrabber::getHeight ( ) const
inline

Return the number of rows in the image.

Examples:
AROgre.cpp, AROgreBasic.cpp, and testPylonGrabber.cpp.

Definition at line 114 of file vpFrameGrabber.h.

◆ getWidth()

unsigned int vpFrameGrabber::getWidth ( ) const
inline

Return the number of columns in the image.

Examples:
AROgre.cpp, AROgreBasic.cpp, and testPylonGrabber.cpp.

Definition at line 116 of file vpFrameGrabber.h.

◆ open() [1/2]

◆ open() [2/2]

Member Data Documentation

◆ height

◆ init

◆ width