YARP
Yet Another Robot Platform

fakeFrameGrabber: A fake camera for testing. More...

#include <fakeFrameGrabber/FakeFrameGrabber.h>

+ Inheritance diagram for FakeFrameGrabber:

Public Member Functions

 FakeFrameGrabber ()
 Constructor. More...
 
bool close () override
 Close the DeviceDriver. More...
 
bool open (yarp::os::Searchable &config) override
 Configure with a set of options. More...
 
void timing ()
 
int height () const override
 Return the height of each frame. More...
 
int width () const override
 Return the width of each frame. More...
 
int getRgbHeight () override
 Return the height of each frame. More...
 
int getRgbWidth () override
 Return the width of each frame. More...
 
bool getRgbSupportedConfigurations (yarp::sig::VectorOf< yarp::dev::CameraConfig > &configurations) override
 Get the possible configurations of the camera. More...
 
bool getRgbResolution (int &width, int &height) override
 Get the resolution of the rgb image from the camera. More...
 
bool setRgbResolution (int width, int height) override
 Set the resolution of the rgb image from the camera. More...
 
bool getRgbFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the rgb camera. More...
 
bool setRgbFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the rgb camera. More...
 
bool getRgbIntrinsicParam (yarp::os::Property &intrinsic) override
 Get the intrinsic parameters of the rgb camera. More...
 
bool getRgbMirroring (bool &mirror) override
 Get the mirroring setting of the sensor. More...
 
bool setRgbMirroring (bool mirror) override
 Set the mirroring setting of the sensor. More...
 
bool getImage (yarp::sig::ImageOf< yarp::sig::PixelRgb > &image) override
 Get an rgb image from the frame grabber, if required demosaicking/color reconstruction is applied. More...
 
bool getImage (yarp::sig::ImageOf< yarp::sig::PixelMono > &image) override
 Get a raw image from the frame grabber. More...
 
yarp::os::Stamp getLastInputStamp () override
 Return the time stamp relative to the last acquisition. More...
 
bool hasAudio () override
 
bool hasVideo () override
 
bool hasRawVideo () override
 
bool getCameraDescription (CameraDescriptor *camera) override
 Get a basic description of the camera hw. More...
 
bool hasFeature (int feature, bool *hasFeature) override
 Check if camera has the requested feature (saturation, brightness ... More...
 
bool setFeature (int feature, double value) override
 Set the requested feature to a value (saturation, brightness ... More...
 
bool getFeature (int feature, double *value) override
 Get the current value for the requested feature. More...
 
bool setFeature (int feature, double value1, double value2) override
 Set the requested feature to a value using 2 params (like white balance) More...
 
bool getFeature (int feature, double *value1, double *value2) override
 Get the current value for the requested feature. More...
 
bool hasOnOff (int feature, bool *HasOnOff) override
 Check if the camera has the ability to turn on/off the requested feature. More...
 
bool setActive (int feature, bool onoff) override
 Set the requested feature on or off. More...
 
bool getActive (int feature, bool *isActive) override
 Get the current status of the feature, on or off. More...
 
bool hasAuto (int feature, bool *hasAuto) override
 Check if the requested feature has the 'auto' mode. More...
 
bool hasManual (int feature, bool *hasManual) override
 Check if the requested feature has the 'manual' mode. More...
 
bool hasOnePush (int feature, bool *hasOnePush) override
 Check if the requested feature has the 'onePush' mode. More...
 
bool setMode (int feature, FeatureMode mode) override
 Set the requested mode for the feature. More...
 
bool getMode (int feature, FeatureMode *mode) override
 Get the current mode for the feature. More...
 
bool setOnePush (int feature) override
 Set the requested feature to a value (saturation, brightness ... More...
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 ~DeviceDriver () override=default
 Destructor. More...
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver. More...
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others. More...
 
- Public Member Functions inherited from yarp::os::IConfig
virtual ~IConfig ()
 Destructor. More...
 
virtual bool configure (Searchable &config)
 Change online parameters. More...
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberImage
virtual ~IFrameGrabberImage ()
 Destructor. More...
 
virtual bool getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelRgb > &image)
 Get a crop of the rgb image from the frame grabber, if required demosaicking/color reconstruction is applied. More...
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberImageRaw
virtual ~IFrameGrabberImageRaw ()
 Destructor. More...
 
virtual bool getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelMono > &image)
 Get a crop of the rgb image from the frame grabber, if required demosaicking/color reconstruction is applied. More...
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberControls
virtual ~IFrameGrabberControls ()
 Destructor. More...
 
virtual bool setBrightness (double v)
 Set the brightness. More...
 
virtual bool setExposure (double v)
 Set the exposure. More...
 
virtual bool setSharpness (double v)
 Set the sharpness. More...
 
virtual bool setWhiteBalance (double blue, double red)
 Set the white balance for the frame grabber. More...
 
virtual bool setHue (double v)
 Set the hue. More...
 
virtual bool setSaturation (double v)
 Set the saturation. More...
 
virtual bool setGamma (double v)
 Set the gamma. More...
 
virtual bool setShutter (double v)
 Set the shutter parameter. More...
 
virtual bool setGain (double v)
 Set the gain. More...
 
virtual bool setIris (double v)
 Set the iris. More...
 
virtual double getBrightness ()
 Read the brightness parameter. More...
 
virtual double getExposure ()
 Read the exposure parameter. More...
 
virtual double getSharpness ()
 Read the sharpness parameter. More...
 
virtual bool getWhiteBalance (double &blue, double &red)
 Read the white balance parameters. More...
 
virtual double getHue ()
 Read the hue parameter. More...
 
virtual double getSaturation ()
 Read the saturation parameter. More...
 
virtual double getGamma ()
 Read the gamma parameter. More...
 
virtual double getShutter ()
 Read the shutter parameter. More...
 
virtual double getGain ()
 Read the gain parameter. More...
 
virtual double getIris ()
 Read the iris parameter. More...
 
cameraFeature_id_t featureVOCABEnum (int vocab)
 
int featureEnum2Vocab (cameraFeature_id_t _enum)
 
std::string busType2String (BusType type)
 
FeatureMode toFeatureMode (bool _auto)
 
- Public Member Functions inherited from yarp::dev::IPreciselyTimed
virtual ~IPreciselyTimed ()
 
- Public Member Functions inherited from yarp::dev::IAudioVisualStream
virtual ~IAudioVisualStream ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IRgbVisualParams
virtual ~IRgbVisualParams ()
 

Detailed Description

fakeFrameGrabber: A fake camera for testing.

Implements the IFrameGrabberImage and IFrameGrabberControls interfaces.

Definition at line 37 of file FakeFrameGrabber.h.

Constructor & Destructor Documentation

◆ FakeFrameGrabber()

FakeFrameGrabber::FakeFrameGrabber ( )

Constructor.

Definition at line 34 of file FakeFrameGrabber.cpp.

Member Function Documentation

◆ close()

bool FakeFrameGrabber::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 69 of file FakeFrameGrabber.cpp.

◆ getActive()

bool FakeFrameGrabber::getActive ( int  feature,
bool *  isActive 
)
overridevirtual

Get the current status of the feature, on or off.

Parameters
featurethe identifier of the feature to check
isActiveflag true if the feature is active, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 275 of file FakeFrameGrabber.cpp.

◆ getCameraDescription()

bool FakeFrameGrabber::getCameraDescription ( CameraDescriptor camera)
overridevirtual

Get a basic description of the camera hw.

This is mainly used to determine the HW bus type in order to choose the corresponding interface for advanced controls.

Parameters
devicereturns an identifier for the bus
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 267 of file FakeFrameGrabber.cpp.

◆ getFeature() [1/2]

bool FakeFrameGrabber::getFeature ( int  feature,
double *  value 
)
overridevirtual

Get the current value for the requested feature.

Parameters
featurethe identifier of the feature to read
valuepointer to current value of the feature, from 0 to 1 expressed as a percentage
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 270 of file FakeFrameGrabber.cpp.

◆ getFeature() [2/2]

bool FakeFrameGrabber::getFeature ( int  feature,
double *  value1,
double *  value2 
)
overridevirtual

Get the current value for the requested feature.

Parameters
featurethe identifier of the feaature to read
value1returns the current value of the feature, from 0 to 1 expressed as a percentage
value2returns the current value of the feature, from 0 to 1 expressed as a percentage
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 272 of file FakeFrameGrabber.cpp.

◆ getImage() [1/2]

bool FakeFrameGrabber::getImage ( yarp::sig::ImageOf< yarp::sig::PixelMono > &  image)
overridevirtual

Get a raw image from the frame grabber.

Parameters
imagethe image to be filled
Returns
true/false upon success/failure

Implements yarp::dev::IFrameGrabberImageRaw.

Definition at line 243 of file FakeFrameGrabber.cpp.

◆ getImage() [2/2]

bool FakeFrameGrabber::getImage ( yarp::sig::ImageOf< yarp::sig::PixelRgb > &  image)
overridevirtual

Get an rgb image from the frame grabber, if required demosaicking/color reconstruction is applied.

Parameters
imagethe image to be filled
Returns
true/false upon success/failure

Implements yarp::dev::IFrameGrabberImage.

Definition at line 236 of file FakeFrameGrabber.cpp.

◆ getLastInputStamp()

yarp::os::Stamp FakeFrameGrabber::getLastInputStamp ( )
overridevirtual

Return the time stamp relative to the last acquisition.

Implements yarp::dev::IPreciselyTimed.

Definition at line 255 of file FakeFrameGrabber.cpp.

◆ getMode()

bool FakeFrameGrabber::getMode ( int  feature,
FeatureMode mode 
)
overridevirtual

Get the current mode for the feature.

Parameters
featurethe identifier of the feature to change
hasAutoflag true if the feature is has 'auto' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 280 of file FakeFrameGrabber.cpp.

◆ getRgbFOV()

bool FakeFrameGrabber::getRgbFOV ( double &  horizontalFov,
double &  verticalFov 
)
overridevirtual

Get the field of view (FOV) of the rgb camera.

Parameters
horizontalFovwill return the value of the horizontal fov in degrees
verticalFovwill return the value of the vertical fov in degrees
Returns
true on success

Implements yarp::dev::IRgbVisualParams.

Definition at line 210 of file FakeFrameGrabber.cpp.

◆ getRgbHeight()

int FakeFrameGrabber::getRgbHeight ( )
overridevirtual

Return the height of each frame.

Returns
rgb image height

Implements yarp::dev::IRgbVisualParams.

Definition at line 185 of file FakeFrameGrabber.cpp.

◆ getRgbIntrinsicParam()

bool FakeFrameGrabber::getRgbIntrinsicParam ( yarp::os::Property intrinsic)
overridevirtual

Get the intrinsic parameters of the rgb camera.

Parameters
intrinsicreturn a Property containing intrinsic parameters of the optical model of the camera.
Returns
true if success

The yarp::os::Property describing the intrinsic parameters is expected to be in the form:

Parameter name SubParameter Type Units Default Value Required Description Notes
physFocalLength - double m - Yes Physical focal length of the lens in meters
focalLengthX - double pixel - Yes Horizontal component of the focal length as a multiple of pixel width
focalLengthY - double pixel - Yes Vertical component of the focal length as a multiple of pixel height
principalPointX - double pixel - Yes X coordinate of the principal point
principalPointY - double pixel - Yes Y coordinate of the principal point
retificationMatrix - 4x4 double matrix - - Yes Matrix that describes the lens' distortion
distortionModel - string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'cameraDistortionModelGroup' This is another group's name to be searched for in the config file
cameraDistortionModelGroup
name string - - Yes Name of the distortion model, see notes right now only 'plumb_bob' is supported
k1 double - - Yes Radial distortion coefficient of the lens
k2 double - - Yes Radial distortion coefficient of the lens
k3 double - - Yes Radial distortion coefficient of the lens
t1 double - - Yes Tangential distortion of the lens
t2 double - - Yes Tangential distortion of the lens

Implements yarp::dev::IRgbVisualParams.

Definition at line 222 of file FakeFrameGrabber.cpp.

◆ getRgbMirroring()

bool FakeFrameGrabber::getRgbMirroring ( bool &  mirror)
overridevirtual

Get the mirroring setting of the sensor.

Parameters
mirrortrue if image is mirrored, false otherwise
Returns
true if success

Implements yarp::dev::IRgbVisualParams.

Definition at line 227 of file FakeFrameGrabber.cpp.

◆ getRgbResolution()

bool FakeFrameGrabber::getRgbResolution ( int &  width,
int &  height 
)
overridevirtual

Get the resolution of the rgb image from the camera.

Parameters
widthimage width
heightimage height
Returns
true on success

Reimplemented from yarp::dev::IRgbVisualParams.

Definition at line 198 of file FakeFrameGrabber.cpp.

◆ getRgbSupportedConfigurations()

bool FakeFrameGrabber::getRgbSupportedConfigurations ( yarp::sig::VectorOf< yarp::dev::CameraConfig > &  configurations)
overridevirtual

Get the possible configurations of the camera.

Parameters
configurationslist of camera supported configurations as CameraConfig type
Returns
true on success

Reimplemented from yarp::dev::IRgbVisualParams.

Definition at line 193 of file FakeFrameGrabber.cpp.

◆ getRgbWidth()

int FakeFrameGrabber::getRgbWidth ( )
overridevirtual

Return the width of each frame.

Returns
rgb image width

Implements yarp::dev::IRgbVisualParams.

Definition at line 189 of file FakeFrameGrabber.cpp.

◆ hasAudio()

bool FakeFrameGrabber::hasAudio ( )
overridevirtual

Implements yarp::dev::IAudioVisualStream.

Definition at line 259 of file FakeFrameGrabber.cpp.

◆ hasAuto()

bool FakeFrameGrabber::hasAuto ( int  feature,
bool *  hasAuto 
)
overridevirtual

Check if the requested feature has the 'auto' mode.

Parameters
featurethe identifier of the feature to check
hasAutoflag true if the feature is has 'auto' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 276 of file FakeFrameGrabber.cpp.

◆ hasFeature()

bool FakeFrameGrabber::hasFeature ( int  feature,
bool *  hasFeature 
)
overridevirtual

Check if camera has the requested feature (saturation, brightness ...

)

Parameters
featurethe identifier of the feature to check
hasFeatureflag value: true if the feature is present, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 268 of file FakeFrameGrabber.cpp.

◆ hasManual()

bool FakeFrameGrabber::hasManual ( int  feature,
bool *  hasManual 
)
overridevirtual

Check if the requested feature has the 'manual' mode.

Parameters
featurethe identifier of the feature to check
hasAutoflag true if the feature is has 'manual' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 277 of file FakeFrameGrabber.cpp.

◆ hasOnePush()

bool FakeFrameGrabber::hasOnePush ( int  feature,
bool *  hasOnePush 
)
overridevirtual

Check if the requested feature has the 'onePush' mode.

Parameters
featurethe identifier of the feature to check
hasAutoflag true if the feature is has 'onePush' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 278 of file FakeFrameGrabber.cpp.

◆ hasOnOff()

bool FakeFrameGrabber::hasOnOff ( int  feature,
bool *  HasOnOff 
)
overridevirtual

Check if the camera has the ability to turn on/off the requested feature.

Parameters
featurethe identifier of the feature to change
hasOnOffflag true if this feature can be turned on/off, false otherwise.
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 273 of file FakeFrameGrabber.cpp.

◆ hasRawVideo()

bool FakeFrameGrabber::hasRawVideo ( )
overridevirtual

Reimplemented from yarp::dev::IAudioVisualStream.

Definition at line 263 of file FakeFrameGrabber.cpp.

◆ hasVideo()

bool FakeFrameGrabber::hasVideo ( )
overridevirtual

Implements yarp::dev::IAudioVisualStream.

Definition at line 261 of file FakeFrameGrabber.cpp.

◆ height()

int FakeFrameGrabber::height ( ) const
overridevirtual

Return the height of each frame.

Returns
image height

Implements yarp::dev::IFrameGrabberImage.

Definition at line 177 of file FakeFrameGrabber.cpp.

◆ open()

bool FakeFrameGrabber::open ( yarp::os::Searchable config)
overridevirtual

Configure with a set of options.

These are:

width Width of image (default 128).
height Height of image (default 128).
freq Frequency in Hz to generate images (default 20Hz).
period Inverse of freq - only set one of these.
mode Can be [line] (default), [ball], [grid], [rand], [none].
src Image file to read from (default: none).
bayer Emit a bayer image.
mono Emit a monochrome image.
Parameters
configThe options to use
Returns
true iff the object could be configured.

Reimplemented from yarp::dev::DeviceDriver.

Reimplemented in TestFrameGrabber.

Definition at line 73 of file FakeFrameGrabber.cpp.

◆ setActive()

bool FakeFrameGrabber::setActive ( int  feature,
bool  onoff 
)
overridevirtual

Set the requested feature on or off.

Parameters
featurethe identifier of the feature to change
onofftrue to activate, off to deactivate the feature
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 274 of file FakeFrameGrabber.cpp.

◆ setFeature() [1/2]

bool FakeFrameGrabber::setFeature ( int  feature,
double  value 
)
overridevirtual

Set the requested feature to a value (saturation, brightness ...

)

Parameters
featurethe identifier of the feature to change
valuenew value of the feature, range from 0 to 1 expressed as a percentage
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 269 of file FakeFrameGrabber.cpp.

◆ setFeature() [2/2]

bool FakeFrameGrabber::setFeature ( int  feature,
double  value1,
double  value2 
)
overridevirtual

Set the requested feature to a value using 2 params (like white balance)

Parameters
featurethe identifier of the feature to change
value1first param, from 0 to 1 expressed as a percentage
value2second param, from 0 to 1 expressed as a percentage
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 271 of file FakeFrameGrabber.cpp.

◆ setMode()

bool FakeFrameGrabber::setMode ( int  feature,
FeatureMode  mode 
)
overridevirtual

Set the requested mode for the feature.

Parameters
featurethe identifier of the feature to change
auto_onofftrue to activate 'auto' mode, false to activate 'manual' mode
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 279 of file FakeFrameGrabber.cpp.

◆ setOnePush()

bool FakeFrameGrabber::setOnePush ( int  feature)
overridevirtual

Set the requested feature to a value (saturation, brightness ...

)

Parameters
featurethe identifier of the feature to change
valuenew value of the feature, from 0 to 1 as a percentage of param range
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 281 of file FakeFrameGrabber.cpp.

◆ setRgbFOV()

bool FakeFrameGrabber::setRgbFOV ( double  horizontalFov,
double  verticalFov 
)
overridevirtual

Set the field of view (FOV) of the rgb camera.

Parameters
horizontalFovwill set the value of the horizontal fov in degrees
verticalFovwill set the value of the vertical fov in degrees
Returns
true on success

Implements yarp::dev::IRgbVisualParams.

Definition at line 216 of file FakeFrameGrabber.cpp.

◆ setRgbMirroring()

bool FakeFrameGrabber::setRgbMirroring ( bool  mirror)
overridevirtual

Set the mirroring setting of the sensor.

Parameters
mirrortrue if image should be mirrored, false otherwise
Returns
true if success

Implements yarp::dev::IRgbVisualParams.

Definition at line 231 of file FakeFrameGrabber.cpp.

◆ setRgbResolution()

bool FakeFrameGrabber::setRgbResolution ( int  width,
int  height 
)
overridevirtual

Set the resolution of the rgb image from the camera.

Parameters
widthimage width
heightimage height
Returns
true on success

Implements yarp::dev::IRgbVisualParams.

Definition at line 204 of file FakeFrameGrabber.cpp.

◆ timing()

void FakeFrameGrabber::timing ( )

Definition at line 159 of file FakeFrameGrabber.cpp.

◆ width()

int FakeFrameGrabber::width ( ) const
overridevirtual

Return the width of each frame.

Returns
image width

Implements yarp::dev::IFrameGrabberImage.

Definition at line 181 of file FakeFrameGrabber.cpp.


The documentation for this class was generated from the following files: