Visual Servoing Platform  version 3.3.0
vpDiskGrabber Class Reference

#include <vpDiskGrabber.h>

+ Inheritance diagram for vpDiskGrabber:

Public Member Functions

 vpDiskGrabber ()
 
 vpDiskGrabber (const std::string &genericName)
 
 vpDiskGrabber (const std::string &dir, const std::string &basename, long number, int step, unsigned int noz, const std::string &ext)
 
virtual ~vpDiskGrabber ()
 
void acquire (vpImage< unsigned char > &I)
 
void acquire (vpImage< vpRGBa > &I)
 
void acquire (vpImage< float > &I)
 
void acquire (vpImage< unsigned char > &I, long image_number)
 
void acquire (vpImage< vpRGBa > &I, long image_number)
 
void acquire (vpImage< float > &I, long image_number)
 
void close ()
 
long getImageNumber ()
 
void open (vpImage< unsigned char > &I)
 
void open (vpImage< vpRGBa > &I)
 
void open (vpImage< float > &I)
 
void setBaseName (const std::string &name)
 
void setDirectory (const std::string &dir)
 
void setExtension (const std::string &ext)
 
void setGenericName (const std::string &genericName)
 
void setImageNumber (long number)
 
void setNumberOfZero (unsigned int noz)
 
void setStep (long step)
 
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

Class to grab (ie. read) images from the disk.

Defined a virtual video device. "Grab" the images from the disk. Derived from the vpFrameGrabber class.

See also
vpFrameGrabber

Here an example of capture from the directory "/local/soft/ViSP/ViSP-images/cube". We want to acquire 10 images from the first named "image.0001.pgm" by steps of 2.

#include <visp3/core/vpImage.h>
#include <visp3/io/vpDiskGrabber.h>
int main(){
vpImage<unsigned char> I; // Grey level image
// Declare a framegrabber able to read a sequence of successive
// images from the disk
// Set the path to the directory containing the sequence
g.setDirectory("/local/soft/ViSP/ViSP-images/cube");
// Set the image base name. The directory and the base name constitute
// the constant part of the full filename
g.setBaseName("image.");
// Set the step between two images of the sequence
g.setStep(2);
// Set the number of digits to build the image number
// Set the first frame number of the sequence
// Set the image file extension
g.setExtension("pgm");
// Open the framegrabber by loading the first image of the sequence
g.open(I) ;
unsigned int cpt = 1;
// this is the loop over the image sequence
while(cpt ++ < 10)
{
// read the image and then increment the image counter so that the next
// call to acquire(I) will get the next image
g.acquire(I) ;
}
}
Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 107 of file vpDiskGrabber.h.

Constructor & Destructor Documentation

◆ vpDiskGrabber() [1/3]

vpDiskGrabber::vpDiskGrabber ( )

Elementary constructor.

Definition at line 43 of file vpDiskGrabber.cpp.

◆ vpDiskGrabber() [2/3]

vpDiskGrabber::vpDiskGrabber ( const std::string &  generic_name)
explicit

Constructor that takes a generic image sequence as input.

Definition at line 53 of file vpDiskGrabber.cpp.

◆ vpDiskGrabber() [3/3]

vpDiskGrabber::vpDiskGrabber ( const std::string &  dir,
const std::string &  basename,
long  number,
int  step,
unsigned int  noz,
const std::string &  ext 
)
explicit

Constructor.

Parameters
dir: Location of the image sequence.
basename: Base name of each image.
number: Initial image number.
step: Increment between two images.
noz: Number of zero to code the image number.
ext: Extension of the image file.

Definition at line 71 of file vpDiskGrabber.cpp.

◆ ~vpDiskGrabber()

vpDiskGrabber::~vpDiskGrabber ( )
virtual

Destructor

In fact nothing to destroy...

Definition at line 318 of file vpDiskGrabber.cpp.

Member Function Documentation

◆ acquire() [1/6]

void vpDiskGrabber::acquire ( vpImage< float > &  I)

Acquire an image reading the next pfm image from the disk. After this call, the image number is incremented considering the step.

Parameters
I: The image read from a file.

Definition at line 198 of file vpDiskGrabber.cpp.

◆ acquire() [2/6]

void vpDiskGrabber::acquire ( vpImage< float > &  I,
long  img_number 
)

Acquire an image reading the pfm image with number img_number from the disk. After this call, the image number is incremented considering the step.

Parameters
I: The image read from a file.
img_number: The number of the desired image.

Definition at line 282 of file vpDiskGrabber.cpp.

◆ acquire() [3/6]

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

Acquire an image reading the next image from the disk. After this call, the image number is incremented considering the step.

Parameters
I: The image read from a file.

Implements vpFrameGrabber.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 143 of file vpDiskGrabber.cpp.

◆ acquire() [4/6]

void vpDiskGrabber::acquire ( vpImage< unsigned char > &  I,
long  img_number 
)

Acquire an image reading the image with number img_number from the disk. After this call, the image number is incremented considering the step.

Parameters
I: The image read from a file.
img_number: The number of the desired image.

Definition at line 226 of file vpDiskGrabber.cpp.

◆ acquire() [5/6]

void vpDiskGrabber::acquire ( vpImage< vpRGBa > &  I)
virtual

Acquire an image reading the next image from the disk. After this call, the image number is incremented considering the step.

Parameters
I: The image read from a file.

Implements vpFrameGrabber.

Definition at line 170 of file vpDiskGrabber.cpp.

◆ acquire() [6/6]

void vpDiskGrabber::acquire ( vpImage< vpRGBa > &  I,
long  img_number 
)

Acquire an image reading the image with number img_number from the disk. After this call, the image number is incremented considering the step.

Parameters
I: The image read from a file.
img_number: The number of the desired image.

Definition at line 254 of file vpDiskGrabber.cpp.

◆ close()

void vpDiskGrabber::close ( )
virtual

Not useful.

Here for compatibility issue with the vpFrameGrabber class.

Implements vpFrameGrabber.

Definition at line 308 of file vpDiskGrabber.cpp.

◆ getHeight()

unsigned int vpFrameGrabber::getHeight ( ) const
inlineinherited

Return the number of rows in the image.

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

Definition at line 113 of file vpFrameGrabber.h.

◆ getImageNumber()

long vpDiskGrabber::getImageNumber ( )
inline

Return the current image number.

Definition at line 142 of file vpDiskGrabber.h.

◆ getWidth()

unsigned int vpFrameGrabber::getWidth ( ) const
inlineinherited

Return the number of columns in the image.

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

Definition at line 115 of file vpFrameGrabber.h.

◆ open() [1/3]

void vpDiskGrabber::open ( vpImage< float > &  I)

Read the first image of the sequence. The image number is not incremented.

Definition at line 121 of file vpDiskGrabber.cpp.

◆ open() [2/3]

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

Read the first image of the sequence. The image number is not incremented.

Implements vpFrameGrabber.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 83 of file vpDiskGrabber.cpp.

◆ open() [3/3]

void vpDiskGrabber::open ( vpImage< vpRGBa > &  I)
virtual

Read the first image of the sequence. The image number is not incremented.

Implements vpFrameGrabber.

Definition at line 101 of file vpDiskGrabber.cpp.

◆ setBaseName()

void vpDiskGrabber::setBaseName ( const std::string &  name)

Set the image base name.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 328 of file vpDiskGrabber.cpp.

◆ setDirectory()

void vpDiskGrabber::setDirectory ( const std::string &  dir)

Set the main directory name (ie location of the image sequence)

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 323 of file vpDiskGrabber.cpp.

◆ setExtension()

void vpDiskGrabber::setExtension ( const std::string &  ext)

Set the image extension.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 333 of file vpDiskGrabber.cpp.

◆ setGenericName()

void vpDiskGrabber::setGenericName ( const std::string &  genericName)

Definition at line 353 of file vpDiskGrabber.cpp.

◆ setImageNumber()

void vpDiskGrabber::setImageNumber ( long  number)

Set the number of the image to be read.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 338 of file vpDiskGrabber.cpp.

◆ setNumberOfZero()

void vpDiskGrabber::setNumberOfZero ( unsigned int  noz)

Set the step between two images.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 351 of file vpDiskGrabber.cpp.

◆ setStep()

void vpDiskGrabber::setStep ( long  step)

Set the step between two images.

Examples
grabDisk.cpp, and manGrabDisk.cpp.

Definition at line 347 of file vpDiskGrabber.cpp.

Member Data Documentation

◆ height

unsigned int vpFrameGrabber::height
protectedinherited

Number of rows in the image.

Definition at line 106 of file vpFrameGrabber.h.

Referenced by vpDirectShowGrabber::getFormat().

◆ init

bool vpFrameGrabber::init
inherited

Set to true if the frame grabber has been initialized.

Definition at line 103 of file vpFrameGrabber.h.

◆ width

unsigned int vpFrameGrabber::width
protectedinherited

Number of columns in the image.

Definition at line 107 of file vpFrameGrabber.h.

Referenced by vpDirectShowGrabber::getFormat().

vpDiskGrabber::acquire
void acquire(vpImage< unsigned char > &I)
Definition: vpDiskGrabber.cpp:143
vpDiskGrabber::setImageNumber
void setImageNumber(long number)
Definition: vpDiskGrabber.cpp:338
vpDiskGrabber
Class to grab (ie. read) images from the disk.
Definition: vpDiskGrabber.h:107
vpDiskGrabber::setNumberOfZero
void setNumberOfZero(unsigned int noz)
Definition: vpDiskGrabber.cpp:351
vpDiskGrabber::setStep
void setStep(long step)
Definition: vpDiskGrabber.cpp:347
vpDiskGrabber::setBaseName
void setBaseName(const std::string &name)
Definition: vpDiskGrabber.cpp:328
vpImage< unsigned char >
vpDiskGrabber::open
void open(vpImage< unsigned char > &I)
Definition: vpDiskGrabber.cpp:83
vpDiskGrabber::setDirectory
void setDirectory(const std::string &dir)
Definition: vpDiskGrabber.cpp:323
vpDiskGrabber::setExtension
void setExtension(const std::string &ext)
Definition: vpDiskGrabber.cpp:333