Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches
vpFrameGrabber Class Referenceabstract

#include <vpFrameGrabber.h>

Inheritance diagram for vpFrameGrabber:

Public Attributes

bool init

Inherited functionalities from vpFramegrabber

unsigned int height
unsigned int width
unsigned int getHeight () const
unsigned int getWidth () const
 vpFrameGrabber ()
 vpFrameGrabber (const vpFrameGrabber &)=default
virtual ~vpFrameGrabber ()=default
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
vpFrameGrabberoperator= (const vpFrameGrabber &)=default

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>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
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
}
Class for firewire ieee1394 video devices using libdc1394-2.x api.
void setVideoMode(vp1394TwoVideoModeType videomode)
void setFramerate(vp1394TwoFramerateType fps)
virtual void open(vpImage< unsigned char > &I)=0
virtual void acquire(vpImage< unsigned char > &I)=0
static void write(const vpImage< unsigned char > &I, const std::string &filename, int backend=IO_DEFAULT_BACKEND)
Definition of the vpImage class member functions.
Definition vpImage.h:131
Class that is a wrapper over the Video4Linux2 (V4L2) driver.
@ framerate_50fps
50 frames per second
void setWidth(unsigned w)
void setFramerate(vpV4l2FramerateType framerate)
void setInput(unsigned input=vpV4l2Grabber::DEFAULT_INPUT)
void setHeight(unsigned h)
void setNBuffers(unsigned nbuffers)

Definition at line 99 of file vpFrameGrabber.h.

Constructor & Destructor Documentation

◆ vpFrameGrabber() [1/2]

vpFrameGrabber::vpFrameGrabber ( )
inline

◆ vpFrameGrabber() [2/2]

vpFrameGrabber::vpFrameGrabber ( const vpFrameGrabber & )
default

References vpFrameGrabber().

◆ ~vpFrameGrabber()

virtual vpFrameGrabber::~vpFrameGrabber ( )
virtualdefault

References vpFrameGrabber().

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

◆ getHeight()

BEGIN_VISP_NAMESPACE unsigned int vpFrameGrabber::getHeight ( ) const

Return the number of rows in the image.

Examples
AROgre.cpp, AROgreBasic.cpp, testPylonGrabber.cpp, and tutorial-rbt-sequence.cpp.

Definition at line 38 of file vpFrameGrabber.cpp.

References height.

◆ getWidth()

unsigned int vpFrameGrabber::getWidth ( ) const

Return the number of columns in the image.

Examples
AROgre.cpp, AROgreBasic.cpp, testPylonGrabber.cpp, and tutorial-rbt-sequence.cpp.

Definition at line 43 of file vpFrameGrabber.cpp.

References width.

◆ open() [1/2]

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

◆ open() [2/2]

◆ operator=()

vpFrameGrabber & vpFrameGrabber::operator= ( const vpFrameGrabber & )
default

References vpFrameGrabber().

Member Data Documentation

◆ height

◆ init

◆ width