Visual Servoing Platform  version 3.6.1 under development (2024-03-18)
vpFrameGrabber Class Referenceabstract

#include <visp3/core/vpFrameGrabber.h>

+ Inheritance diagram for vpFrameGrabber:

Public Member Functions

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

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
}
Class for firewire ieee1394 video devices using libdc1394-2.x api.
void setVideoMode(vp1394TwoVideoModeType videomode)
void setFramerate(vp1394TwoFramerateType fps)
Base class for all video devices. It is designed to provide a front end to video sources.
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: vpImageIo.cpp:287
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 93 of file vpFrameGrabber.h.

Constructor & Destructor Documentation

◆ vpFrameGrabber()

vpFrameGrabber::vpFrameGrabber ( )
inline

Definition at line 112 of file vpFrameGrabber.h.

◆ ~vpFrameGrabber()

virtual vpFrameGrabber::~vpFrameGrabber ( )
virtualdefault

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

◆ 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 106 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 108 of file vpFrameGrabber.h.

◆ open() [1/2]

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

◆ open() [2/2]

Member Data Documentation

◆ height

◆ init

◆ width