YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
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.
 
 ~USBCameraDriver () override
 Destructor.
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver.
 
bool close () override
 Close the DeviceDriver.
 
int height () const
 
int width () const
 
yarp::os::Stamp getLastInputStamp () override
 Return the time stamp relative to the last acquisition.
 
yarp::dev::ReturnValue getCameraDescription (yarp::dev::CameraDescriptor &camera) override
 Implementation of IFrameGrabberControls2 interface.
 
yarp::dev::ReturnValue hasFeature (yarp::dev::cameraFeature_id_t feature, bool &hasFeature) override
 Check if camera has the requested feature (saturation, brightness ... )
 
yarp::dev::ReturnValue setFeature (yarp::dev::cameraFeature_id_t feature, double value) override
 Set the requested feature to a value (saturation, brightness ... )
 
yarp::dev::ReturnValue getFeature (yarp::dev::cameraFeature_id_t feature, double &value) override
 Get the current value for the requested feature.
 
yarp::dev::ReturnValue setFeature (yarp::dev::cameraFeature_id_t feature, double value1, double value2) override
 Set the requested feature to a value using 2 params (like white balance)
 
yarp::dev::ReturnValue getFeature (yarp::dev::cameraFeature_id_t feature, double &value1, double &value2) override
 Get the current value for the requested feature.
 
yarp::dev::ReturnValue setActive (yarp::dev::cameraFeature_id_t feature, bool onoff) override
 Set the requested feature on or off.
 
yarp::dev::ReturnValue getActive (yarp::dev::cameraFeature_id_t feature, bool &isActive) override
 Get the current status of the feature, on or off.
 
yarp::dev::ReturnValue hasOnOff (yarp::dev::cameraFeature_id_t feature, bool &HasOnOff) override
 Check if the camera has the ability to turn on/off the requested feature.
 
yarp::dev::ReturnValue hasAuto (yarp::dev::cameraFeature_id_t feature, bool &hasAuto) override
 Check if the requested feature has the 'auto' mode.
 
yarp::dev::ReturnValue hasManual (yarp::dev::cameraFeature_id_t feature, bool &hasManual) override
 Check if the requested feature has the 'manual' mode.
 
yarp::dev::ReturnValue setMode (yarp::dev::cameraFeature_id_t feature, yarp::dev::FeatureMode mode) override
 Set the requested mode for the feature.
 
yarp::dev::ReturnValue getMode (yarp::dev::cameraFeature_id_t feature, yarp::dev::FeatureMode &mode) override
 Get the current mode for the feature.
 
yarp::dev::ReturnValue hasOnePush (yarp::dev::cameraFeature_id_t feature, bool &hasOnePush) override
 Check if the requested feature has the 'onePush' mode.
 
yarp::dev::ReturnValue setOnePush (yarp::dev::cameraFeature_id_t feature) override
 Set the requested feature to a value (saturation, brightness ... )
 
int getRgbHeight () override
 Return the height of each frame.
 
int getRgbWidth () override
 Return the width of each frame.
 
yarp::dev::ReturnValue getRgbSupportedConfigurations (std::vector< yarp::dev::CameraConfig > &configurations) override
 Get the possible configurations of the camera.
 
yarp::dev::ReturnValue getRgbResolution (int &width, int &height) override
 Get the resolution of the rgb image from the camera.
 
yarp::dev::ReturnValue setRgbResolution (int width, int height) override
 Set the resolution of the rgb image from the camera.
 
yarp::dev::ReturnValue getRgbFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the rgb camera.
 
yarp::dev::ReturnValue setRgbFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the rgb camera.
 
yarp::dev::ReturnValue getRgbIntrinsicParam (yarp::os::Property &intrinsic) override
 Get the intrinsic parameters of the rgb camera.
 
yarp::dev::ReturnValue getRgbMirroring (bool &mirror) override
 Get the mirroring setting of the sensor.
 
yarp::dev::ReturnValue setRgbMirroring (bool mirror) override
 Set the mirroring setting of the sensor.
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 DeviceDriver ()
 
 DeviceDriver (const DeviceDriver &other)=delete
 
 DeviceDriver (DeviceDriver &&other) noexcept=delete
 
DeviceDriveroperator= (const DeviceDriver &other)=delete
 
DeviceDriveroperator= (DeviceDriver &&other) noexcept=delete
 
virtual ~DeviceDriver ()
 
virtual std::string id () const
 Return the id assigned to the PolyDriver.
 
virtual void setId (const std::string &id)
 Set the id for this device.
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver.
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others.
 
- Public Member Functions inherited from yarp::dev::IPreciselyTimed
virtual ~IPreciselyTimed ()
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberControls
virtual ~IFrameGrabberControls ()
 Destructor.
 
std::string busType2String (BusType type)
 
FeatureMode toFeatureMode (bool _auto)
 
- Public Member Functions inherited from yarp::dev::IRgbVisualParams
virtual ~IRgbVisualParams ()
 

Protected Attributes

yarp::dev::IPreciselyTimeddeviceTimed
 
yarp::dev::IFrameGrabberImageframeGrabberImage
 
yarp::dev::IFrameGrabberImageRawframeGrabberImageRaw
 
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 29 of file USBcamera.h.

Constructor & Destructor Documentation

◆ USBCameraDriver()

USBCameraDriver::USBCameraDriver ( )

Constructor.

Definition at line 27 of file USBcamera.cpp.

◆ ~USBCameraDriver()

USBCameraDriver::~USBCameraDriver ( )
override

Destructor.

Definition at line 33 of file USBcamera.cpp.

Member Function Documentation

◆ close()

bool USBCameraDriver::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 87 of file USBcamera.cpp.

◆ getActive()

yarp::dev::ReturnValue USBCameraDriver::getActive ( yarp::dev::cameraFeature_id_t  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 347 of file USBcamera.cpp.

◆ getCameraDescription()

yarp::dev::ReturnValue USBCameraDriver::getCameraDescription ( yarp::dev::CameraDescriptor camera)
overridevirtual

Implementation of IFrameGrabberControls2 interface.

Actual function will be implemented by OS specific devices

Implements yarp::dev::IFrameGrabberControls.

Definition at line 283 of file USBcamera.cpp.

◆ getFeature() [1/2]

yarp::dev::ReturnValue USBCameraDriver::getFeature ( yarp::dev::cameraFeature_id_t  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 307 of file USBcamera.cpp.

◆ getFeature() [2/2]

yarp::dev::ReturnValue USBCameraDriver::getFeature ( yarp::dev::cameraFeature_id_t  feature,
double value1,
double value2 
)
overridevirtual

Get the current value for the requested feature.

Parameters
featurethe identifier of the feature 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 315 of file USBcamera.cpp.

◆ getLastInputStamp()

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

Return the time stamp relative to the last acquisition.

Implements yarp::dev::IPreciselyTimed.

Definition at line 119 of file USBcamera.cpp.

◆ getMode()

yarp::dev::ReturnValue USBCameraDriver::getMode ( yarp::dev::cameraFeature_id_t  feature,
yarp::dev::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 387 of file USBcamera.cpp.

◆ getRgbFOV()

yarp::dev::ReturnValue 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 175 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 128 of file USBcamera.cpp.

◆ getRgbIntrinsicParam()

yarp::dev::ReturnValue 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

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
rectificationMatrix - 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 191 of file USBcamera.cpp.

◆ getRgbMirroring()

yarp::dev::ReturnValue 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 199 of file USBcamera.cpp.

◆ getRgbResolution()

yarp::dev::ReturnValue 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

Implements yarp::dev::IRgbVisualParams.

Definition at line 153 of file USBcamera.cpp.

◆ getRgbSupportedConfigurations()

yarp::dev::ReturnValue USBCameraDriver::getRgbSupportedConfigurations ( std::vector< 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

Implements yarp::dev::IRgbVisualParams.

Definition at line 145 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 136 of file USBcamera.cpp.

◆ hasAuto()

yarp::dev::ReturnValue USBCameraDriver::hasAuto ( yarp::dev::cameraFeature_id_t  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 355 of file USBcamera.cpp.

◆ hasFeature()

yarp::dev::ReturnValue USBCameraDriver::hasFeature ( yarp::dev::cameraFeature_id_t  ,
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 291 of file USBcamera.cpp.

◆ hasManual()

yarp::dev::ReturnValue USBCameraDriver::hasManual ( yarp::dev::cameraFeature_id_t  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 363 of file USBcamera.cpp.

◆ hasOnePush()

yarp::dev::ReturnValue USBCameraDriver::hasOnePush ( yarp::dev::cameraFeature_id_t  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 371 of file USBcamera.cpp.

◆ hasOnOff()

yarp::dev::ReturnValue USBCameraDriver::hasOnOff ( yarp::dev::cameraFeature_id_t  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 331 of file USBcamera.cpp.

◆ height()

int USBCameraDriver::height ( ) const

Definition at line 107 of file USBcamera.cpp.

◆ open()

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

Open the DeviceDriver.

Parameters
configis a list of parameters for the device. Which parameters are effective for your device can vary. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device).
Returns
true/false upon success/failure

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 39 of file USBcamera.cpp.

◆ setActive()

yarp::dev::ReturnValue USBCameraDriver::setActive ( yarp::dev::cameraFeature_id_t  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 339 of file USBcamera.cpp.

◆ setFeature() [1/2]

yarp::dev::ReturnValue USBCameraDriver::setFeature ( yarp::dev::cameraFeature_id_t  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 299 of file USBcamera.cpp.

◆ setFeature() [2/2]

yarp::dev::ReturnValue USBCameraDriver::setFeature ( yarp::dev::cameraFeature_id_t  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 323 of file USBcamera.cpp.

◆ setMode()

yarp::dev::ReturnValue USBCameraDriver::setMode ( yarp::dev::cameraFeature_id_t  feature,
yarp::dev::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 379 of file USBcamera.cpp.

◆ setOnePush()

yarp::dev::ReturnValue USBCameraDriver::setOnePush ( yarp::dev::cameraFeature_id_t  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 395 of file USBcamera.cpp.

◆ setRgbFOV()

yarp::dev::ReturnValue 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 183 of file USBcamera.cpp.

◆ setRgbMirroring()

yarp::dev::ReturnValue 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 207 of file USBcamera.cpp.

◆ setRgbResolution()

yarp::dev::ReturnValue 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 161 of file USBcamera.cpp.

◆ width()

int USBCameraDriver::width ( ) const

Definition at line 95 of file USBcamera.cpp.

Member Data Documentation

◆ _height

size_t USBCameraDriver::_height
protected

Definition at line 47 of file USBcamera.h.

◆ _width

size_t USBCameraDriver::_width
protected

Definition at line 46 of file USBcamera.h.

◆ deviceControls

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

Definition at line 43 of file USBcamera.h.

◆ deviceRgbVisualParam

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

Definition at line 44 of file USBcamera.h.

◆ deviceTimed

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

Definition at line 39 of file USBcamera.h.

◆ frameGrabberImage

yarp::dev::IFrameGrabberImage* USBCameraDriver::frameGrabberImage
protected

Definition at line 40 of file USBcamera.h.

◆ frameGrabberImageRaw

yarp::dev::IFrameGrabberImageRaw* USBCameraDriver::frameGrabberImageRaw
protected

Definition at line 41 of file USBcamera.h.

◆ os_device

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

Definition at line 42 of file USBcamera.h.

◆ pixelType

int USBCameraDriver::pixelType
protected

Definition at line 48 of file USBcamera.h.


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