YARP
Yet Another Robot Platform
USBCameraDriver Class Reference

usbCamera: YARP device driver implementation for acquiring images from USB cameras. More...

#include <usbCamera/common/USBcamera.h>

+ Inheritance diagram for USBCameraDriver:

Public Member Functions

 USBCameraDriver ()
 Constructor. More...
 
 ~USBCameraDriver () override
 Destructor. More...
 
bool open (yarp::os::Searchable &config) override
 Open the device driver. More...
 
bool close () override
 Closes the device driver. More...
 
int height () const override
 Implements FrameGrabber basic interface. More...
 
int width () const override
 Implements FrameGrabber basic interface. More...
 
bool getRawBuffer (unsigned char *buffer) override
 Implements FrameGrabber basic interface. More...
 
int getRawBufferSize () override
 Implements the Frame grabber basic interface. More...
 
bool getRgbBuffer (unsigned char *buffer) override
 FrameGrabber bgr interface, returns the last acquired frame as a buffer of bgr triplets. More...
 
yarp::os::Stamp getLastInputStamp () override
 Implements the IPreciselyTimed interface. More...
 
bool getCameraDescription (CameraDescriptor *camera) override
 Implementation of IFrameGrabberControls2 interface. 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...
 
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...
 
- 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::IPreciselyTimed
virtual ~IPreciselyTimed ()
 
- Public Member Functions inherited from yarp::dev::IFrameGrabber
virtual ~IFrameGrabber ()
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberRgb
virtual ~IFrameGrabberRgb ()
 
- 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::IRgbVisualParams
virtual ~IRgbVisualParams ()
 

Protected Attributes

yarp::dev::IFrameGrabberRgbdeviceRgb
 
yarp::dev::IPreciselyTimeddeviceTimed
 
yarp::dev::IFrameGrabberdeviceRaw
 
yarp::dev::DeviceDriveros_device
 
yarp::dev::IFrameGrabberControlsdeviceControls
 
yarp::dev::IRgbVisualParamsdeviceRgbVisualParam
 
size_t _width
 
size_t _height
 
int pixelType
 

Detailed Description

usbCamera: YARP device driver implementation for acquiring images from USB cameras.

Documentation to be added

Definition at line 41 of file USBcamera.h.

Constructor & Destructor Documentation

◆ USBCameraDriver()

USBCameraDriver::USBCameraDriver ( )

Constructor.

Definition at line 42 of file USBcamera.cpp.

◆ ~USBCameraDriver()

USBCameraDriver::~USBCameraDriver ( )
override

Destructor.

Definition at line 48 of file USBcamera.cpp.

Member Function Documentation

◆ close()

bool USBCameraDriver::close ( )
overridevirtual

Closes the device driver.

Returns
returns true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 102 of file USBcamera.cpp.

◆ getActive()

bool USBCameraDriver::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 392 of file USBcamera.cpp.

◆ getCameraDescription()

bool USBCameraDriver::getCameraDescription ( CameraDescriptor camera)
overridevirtual

Implementation of IFrameGrabberControls2 interface.

Actual function will be implemented by OS specific devices

Implements yarp::dev::IFrameGrabberControls.

Definition at line 328 of file USBcamera.cpp.

◆ getFeature() [1/2]

bool USBCameraDriver::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 352 of file USBcamera.cpp.

◆ getFeature() [2/2]

bool USBCameraDriver::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 360 of file USBcamera.cpp.

◆ getLastInputStamp()

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

Implements the IPreciselyTimed interface.

Returns
the yarp::os::Stamp of the last image acquired

Implements yarp::dev::IPreciselyTimed.

Definition at line 150 of file USBcamera.cpp.

◆ getMode()

bool USBCameraDriver::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 432 of file USBcamera.cpp.

◆ getRawBuffer()

bool USBCameraDriver::getRawBuffer ( unsigned char *  buffer)
overridevirtual

Implements FrameGrabber basic interface.

Parameters
bufferthe pointer to the array to store the last frame.
Returns
returns true/false on success/failure.

Implements yarp::dev::IFrameGrabber.

Definition at line 135 of file USBcamera.cpp.

◆ getRawBufferSize()

int USBCameraDriver::getRawBufferSize ( )
overridevirtual

Implements the Frame grabber basic interface.

Returns
the size of the raw buffer (for the Dragonfly camera this is 1x640x480).

Implements yarp::dev::IFrameGrabber.

Definition at line 140 of file USBcamera.cpp.

◆ getRgbBuffer()

bool USBCameraDriver::getRgbBuffer ( unsigned char *  buffer)
overridevirtual

FrameGrabber bgr interface, returns the last acquired frame as a buffer of bgr triplets.

A demosaicking method is applied to reconstuct the color from the Bayer pattern of the sensor.

Parameters
bufferpointer to the array that will contain the last frame.
Returns
true/false upon success/failure

Implements yarp::dev::IFrameGrabberRgb.

Definition at line 145 of file USBcamera.cpp.

◆ getRgbFOV()

bool USBCameraDriver::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 206 of file USBcamera.cpp.

◆ getRgbHeight()

int USBCameraDriver::getRgbHeight ( )
overridevirtual

Return the height of each frame.

Returns
rgb image height

Implements yarp::dev::IRgbVisualParams.

Definition at line 159 of file USBcamera.cpp.

◆ getRgbIntrinsicParam()

bool USBCameraDriver::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

Look at IVisualParams.h for more details

Implements yarp::dev::IRgbVisualParams.

Definition at line 222 of file USBcamera.cpp.

◆ getRgbMirroring()

bool USBCameraDriver::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 230 of file USBcamera.cpp.

◆ getRgbResolution()

bool USBCameraDriver::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 184 of file USBcamera.cpp.

◆ getRgbSupportedConfigurations()

bool USBCameraDriver::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 176 of file USBcamera.cpp.

◆ getRgbWidth()

int USBCameraDriver::getRgbWidth ( )
overridevirtual

Return the width of each frame.

Returns
rgb image width

Implements yarp::dev::IRgbVisualParams.

Definition at line 167 of file USBcamera.cpp.

◆ hasAuto()

bool USBCameraDriver::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 400 of file USBcamera.cpp.

◆ hasFeature()

bool USBCameraDriver::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 336 of file USBcamera.cpp.

◆ hasManual()

bool USBCameraDriver::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 408 of file USBcamera.cpp.

◆ hasOnePush()

bool USBCameraDriver::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 416 of file USBcamera.cpp.

◆ hasOnOff()

bool USBCameraDriver::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 376 of file USBcamera.cpp.

◆ height()

int USBCameraDriver::height ( ) const
overridevirtual

Implements FrameGrabber basic interface.

Implements yarp::dev::IFrameGrabber.

Reimplemented in USBCameraDriverRaw, and USBCameraDriverRgb.

Definition at line 122 of file USBcamera.cpp.

◆ open()

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

Open the device driver.

Parameters
configconfiguration for the device driver
Returns
returns true on success, false on failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 54 of file USBcamera.cpp.

◆ setActive()

bool USBCameraDriver::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 384 of file USBcamera.cpp.

◆ setFeature() [1/2]

bool USBCameraDriver::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 344 of file USBcamera.cpp.

◆ setFeature() [2/2]

bool USBCameraDriver::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 368 of file USBcamera.cpp.

◆ setMode()

bool USBCameraDriver::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 424 of file USBcamera.cpp.

◆ setOnePush()

bool USBCameraDriver::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 440 of file USBcamera.cpp.

◆ setRgbFOV()

bool USBCameraDriver::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 214 of file USBcamera.cpp.

◆ setRgbMirroring()

bool USBCameraDriver::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 238 of file USBcamera.cpp.

◆ setRgbResolution()

bool USBCameraDriver::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 192 of file USBcamera.cpp.

◆ width()

int USBCameraDriver::width ( ) const
overridevirtual

Implements FrameGrabber basic interface.

Implements yarp::dev::IFrameGrabber.

Reimplemented in USBCameraDriverRaw, and USBCameraDriverRgb.

Definition at line 110 of file USBcamera.cpp.

Member Data Documentation

◆ _height

size_t USBCameraDriver::_height
protected

Definition at line 61 of file USBcamera.h.

◆ _width

size_t USBCameraDriver::_width
protected

Definition at line 60 of file USBcamera.h.

◆ deviceControls

yarp::dev::IFrameGrabberControls* USBCameraDriver::deviceControls
protected

Definition at line 57 of file USBcamera.h.

◆ deviceRaw

yarp::dev::IFrameGrabber* USBCameraDriver::deviceRaw
protected

Definition at line 55 of file USBcamera.h.

◆ deviceRgb

yarp::dev::IFrameGrabberRgb* USBCameraDriver::deviceRgb
protected

Definition at line 53 of file USBcamera.h.

◆ deviceRgbVisualParam

yarp::dev::IRgbVisualParams* USBCameraDriver::deviceRgbVisualParam
protected

Definition at line 58 of file USBcamera.h.

◆ deviceTimed

yarp::dev::IPreciselyTimed* USBCameraDriver::deviceTimed
protected

Definition at line 54 of file USBcamera.h.

◆ os_device

yarp::dev::DeviceDriver* USBCameraDriver::os_device
protected

Definition at line 56 of file USBcamera.h.

◆ pixelType

int USBCameraDriver::pixelType
protected

Definition at line 62 of file USBcamera.h.


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