YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
depthCameraDriver Class Reference

depthCamera: YARP driver for OpenNI2 compatible devices. More...

#include <openNI2DepthCamera/depthCameraDriver.h>

+ Inheritance diagram for depthCameraDriver:

Public Member Functions

 depthCameraDriver ()
 
 ~depthCameraDriver ()
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver.
 
bool close () override
 Close the DeviceDriver.
 
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 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.
 
int getDepthHeight () override
 Return the height of each frame.
 
int getDepthWidth () override
 Return the height of each frame.
 
yarp::dev::ReturnValue getRgbIntrinsicParam (Property &intrinsic) override
 Get the intrinsic parameters of the rgb camera.
 
yarp::dev::ReturnValue setDepthResolution (int width, int height) override
 Set the resolution of the depth image from the camera.
 
yarp::dev::ReturnValue getDepthFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the depth camera.
 
yarp::dev::ReturnValue setDepthFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the depth camera.
 
yarp::dev::ReturnValue getDepthIntrinsicParam (Property &intrinsic) override
 Get the intrinsic parameters of the depth camera.
 
yarp::dev::ReturnValue getDepthAccuracy (double &accuracy) override
 Get the minimum detectable variation in distance [meter].
 
yarp::dev::ReturnValue setDepthAccuracy (double accuracy) override
 Set the minimum detectable variation in distance [meter] when possible.
 
yarp::dev::ReturnValue getDepthClipPlanes (double &nearPlane, double &farPlane) override
 Get the clipping planes of the sensor.
 
yarp::dev::ReturnValue setDepthClipPlanes (double nearPlane, double farPlane) override
 Set the clipping planes of the sensor.
 
yarp::dev::ReturnValue getDepthMirroring (bool &mirror) override
 Get the mirroring setting of the sensor.
 
yarp::dev::ReturnValue setDepthMirroring (bool mirror) override
 Set the mirroring setting of the sensor.
 
yarp::dev::ReturnValue getExtrinsicParam (yarp::sig::Matrix &extrinsic) override
 Get the extrinsic parameters from the device.
 
yarp::dev::ReturnValue getRgbImage (FlexImage &rgbImage, Stamp *timeStamp=NULL) override
 Get the rgb frame from the device.
 
yarp::dev::ReturnValue getDepthImage (depthImage &depthImage, Stamp *timeStamp=NULL) override
 
yarp::dev::ReturnValue getImages (FlexImage &colorFrame, depthImage &depthFrame, Stamp *colorStamp=NULL, Stamp *depthStamp=NULL) override
 
RGBDSensor_status getSensorStatus () override
 
std::string getLastErrorMsg (Stamp *timeStamp=NULL) override
 
yarp::dev::ReturnValue getCameraDescription (CameraDescriptor *camera) override
 
yarp::dev::ReturnValue hasFeature (int feature, bool *hasFeature) override
 
yarp::dev::ReturnValue setFeature (int feature, double value) override
 
yarp::dev::ReturnValue getFeature (int feature, double *value) override
 
yarp::dev::ReturnValue setFeature (int feature, double value1, double value2) override
 
yarp::dev::ReturnValue getFeature (int feature, double *value1, double *value2) override
 
yarp::dev::ReturnValue hasOnOff (int feature, bool *HasOnOff) override
 
yarp::dev::ReturnValue setActive (int feature, bool onoff) override
 
yarp::dev::ReturnValue getActive (int feature, bool *isActive) override
 
yarp::dev::ReturnValue hasAuto (int feature, bool *hasAuto) override
 
yarp::dev::ReturnValue hasManual (int feature, bool *hasManual) override
 
yarp::dev::ReturnValue hasOnePush (int feature, bool *hasOnePush) override
 
yarp::dev::ReturnValue setMode (int feature, FeatureMode mode) override
 
yarp::dev::ReturnValue getMode (int feature, FeatureMode *mode) override
 
yarp::dev::ReturnValue setOnePush (int feature) override
 
- 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::IRGBDSensor
virtual ~IRGBDSensor ()
 
virtual yarp::dev::ReturnValue getLastErrorMsg (std::string &message, yarp::os::Stamp *timeStamp=nullptr)=0
 Return an error message in case of error.
 
virtual yarp::dev::ReturnValue getDepthImage (yarp::sig::ImageOf< yarp::sig::PixelFloat > &depthImage, yarp::os::Stamp *timeStamp=nullptr)=0
 Get the depth frame from the device.
 
virtual yarp::dev::ReturnValue getImages (yarp::sig::FlexImage &colorFrame, yarp::sig::ImageOf< yarp::sig::PixelFloat > &depthFrame, yarp::os::Stamp *colorStamp=nullptr, yarp::os::Stamp *depthStamp=nullptr)=0
 Get the both the color and depth frame in a single call.
 
virtual yarp::dev::ReturnValue getSensorStatus (RGBDSensor_status &status)=0
 Get the current status of the sensor, using enum type.
 
- Public Member Functions inherited from yarp::dev::IRgbVisualParams
virtual ~IRgbVisualParams ()
 
- Public Member Functions inherited from yarp::dev::IDepthVisualParams
virtual ~IDepthVisualParams ()
 
virtual yarp::dev::ReturnValue getDepthResolution (int &width, int &height)=0
 Get the resolution of the depth image from the camera.
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberControls
virtual ~IFrameGrabberControls ()
 Destructor.
 
std::string busType2String (BusType type)
 
FeatureMode toFeatureMode (bool _auto)
 
virtual yarp::dev::ReturnValue getCameraDescription (CameraDescriptor &camera)=0
 Get a basic description of the camera hw.
 
virtual yarp::dev::ReturnValue hasFeature (cameraFeature_id_t, bool &hasFeature)=0
 Check if camera has the requested feature (saturation, brightness ... )
 
virtual yarp::dev::ReturnValue setFeature (cameraFeature_id_t feature, double value)=0
 Set the requested feature to a value (saturation, brightness ... )
 
virtual yarp::dev::ReturnValue getFeature (cameraFeature_id_t feature, double &value)=0
 Get the current value for the requested feature.
 
virtual yarp::dev::ReturnValue setFeature (cameraFeature_id_t feature, double value1, double value2)=0
 Set the requested feature to a value using 2 params (like white balance)
 
virtual yarp::dev::ReturnValue getFeature (cameraFeature_id_t feature, double &value1, double &value2)=0
 Get the current value for the requested feature.
 
virtual yarp::dev::ReturnValue hasOnOff (cameraFeature_id_t feature, bool &HasOnOff)=0
 Check if the camera has the ability to turn on/off the requested feature.
 
virtual yarp::dev::ReturnValue setActive (cameraFeature_id_t feature, bool onoff)=0
 Set the requested feature on or off.
 
virtual yarp::dev::ReturnValue getActive (cameraFeature_id_t feature, bool &isActive)=0
 Get the current status of the feature, on or off.
 
virtual yarp::dev::ReturnValue hasAuto (cameraFeature_id_t feature, bool &hasAuto)=0
 Check if the requested feature has the 'auto' mode.
 
virtual yarp::dev::ReturnValue hasManual (cameraFeature_id_t feature, bool &hasManual)=0
 Check if the requested feature has the 'manual' mode.
 
virtual yarp::dev::ReturnValue hasOnePush (cameraFeature_id_t feature, bool &hasOnePush)=0
 Check if the requested feature has the 'onePush' mode.
 
virtual yarp::dev::ReturnValue setMode (cameraFeature_id_t feature, FeatureMode mode)=0
 Set the requested mode for the feature.
 
virtual yarp::dev::ReturnValue getMode (cameraFeature_id_t feature, FeatureMode &mode)=0
 Get the current mode for the feature.
 
virtual yarp::dev::ReturnValue setOnePush (cameraFeature_id_t feature)=0
 Set the requested feature to a value (saturation, brightness ... )
 

Static Public Member Functions

static int pixFormatToCode (openni::PixelFormat p)
 

Additional Inherited Members

- Public Types inherited from yarp::dev::IRGBDSensor
enum  RGBDSensor_status {
  RGBD_SENSOR_NOT_READY = 0 ,
  RGBD_SENSOR_OK_STANDBY = 1 ,
  RGBD_SENSOR_OK_IN_USE = 2 ,
  RGB_SENSOR_ERROR = 3 ,
  DEPTH_SENSOR_ERROR = 4 ,
  RGBD_SENSOR_GENERIC_ERROR = 5 ,
  RGBD_SENSOR_TIMEOUT = 6
}
 

Detailed Description

depthCamera: YARP driver for OpenNI2 compatible devices.

@ingroup dev_impl_media

This device driver exposes the IRGBDSensor and IFrameGrabberControls interfaces to read the images and operate on the available settings.

See the documentation for more details about each interface.

This device is paired with its server called rgbdSensor_nws_yarp to stream the images and perform remote operations.

The config file is subdivided into 5 major sections called "SETTINGS", "HW_DESCRIPTION", "RGB_INTRINSIC_PARAMETERS", "DEPTH_INTRINSIC_PARAMETERS", "EXTRINSIC_PARAMETERS".

The "SETTINGS" section is meant for read/write parameters, meaning parameters which can be get and set by the device. A common case of setting is the image resolution in pixel. This setting will be read by the device and it'll be applied in the startup phase. If the setting fails, the device will terminate the execution with a error message.

The "HW_DESCRIPTION" section is meant for read only parameters which describe the hardware property of the device and cannot be provided by the device through software API. A common case is the 'Field Of View' property, which may or may not be supported by the physical device. When a property is present in the HW_DESCRIPTION group, the YARP RGBDSensorClient will report this value when asked for and setting will be disabled. This group can also be used to by-pass OpenNI2 API in case some functionality is not correctly working with the current device. For example the 'clipPlanes' property may return incorrect values or values using non-standard measurement unit. In this case using the HW_DESCRIPTION, a user can override the value got from OpenNI2 API with a custom value.

Note
Parameters inside the HW_DESCRIPTION are read only, so the relative set functionality will be disabled.
For parameters which are neither in SETTINGS nor in HW_DESCRIPTION groups, read / write functionality is assumed but not initial setting will be performed. Device will start with manufacturer default values.
Warning
A single parameter cannot be present into both SETTINGS and HW_DESCRIPTION groups.

The [RGB/DEPTH_INTRINSIC_PARAMETERS] group describe the camera intrinsic parameters for rgb and depth respectively.

Note
Right now only 'plumb_bob' (pinhole camera) distortion model is supported.

The [EXTRINSIC_PARAMETERS] group describe the position of the depth camera in the rgb camera frame. It is composed of a 4x4 rototranslation matrix.

Warning
: whenever more then one value is required by the setting, the values must be in parenthesys!
YARP device name
depthCamera

Parameters used by this device are:

Parameter name SubParameter Type Read / write Units Default Value Required Description Notes
SETTINGS - group Read / write - - Yes Initial setting of the device. Properties must be read/writable in order for setting to work
rgbResolution int, int Read / write pixels - Alternative to HW_DESCRIPTION Size of rgb image in pixels 2 values expected as height, width
depthResolution int, int Read / write pixels - Alternative to HW_DESCRIPTION Size of depth image in pixels Values are height, width
accuracy double Read / write meters - Alternative to HW_DESCRIPTION Accuracy of the device, as the depth measurement error at 1 meter distance
rgbFOV double, double Read / write degrees - Alternative to HW_DESCRIPTION Horizontal and Vertical fields of view of the rgb camera 2 values expected as horizontal and vertical FOVs
depthFOV double, double Read / write degrees - Alternative to HW_DESCRIPTION Horizontal and Vertical fields of view of the depth camera 2 values expected as horizontal and vertical FOVs
rgbMirroring bool Read / write true/false false Alternative to HW_DESCRIPTION Set the mirroring to the acquired rgb image
depthMirroring bool Read / write true/false false Alternative to HW_DESCRIPTION Set the mirroring to the acquired depth image
clipPlanes double, double Read / write meters - Alternative to HW_DESCRIPTION Minimum and maximum distance at which an object is seen by the depth sensor parameter introduced mainly for simulated sensors, it can be used to set the clip planes if Openni gives wrong values
HW_DESCRIPTION - group - - Yes Hardware description of device property. Read only property. Setting will be disabled
same as 'SETTINGS' group - Read only - - Alternative to SETTING group Parameters here are alternative to the SETTING group
RGB_INTRINSIC_PARAMETERS - group - - Yes Description of rgb camera visual parameters
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
distortionModel string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'rgbDistortionModelGroup' This is only another group's name to be searched for in the config file
rgbDistortionModelGroup
name string - - Yes Name of the distortion model, see notes right now only 'plumb_bob' is supported
k1 double - - Yes
k2 double - - Yes
k3 double - - Yes
t1 double - - Yes
t2 double - - Yes
DEPTH_INTRINSIC_PARAMETERS - group - - Yes Description of depth camera visual parameters
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
distortionModel string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'depthDistortionModelGroup' This is another group's name to be searched for in the config file
depthDistortionModelGroup
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
EXTRINSIC_PARAMETERS - - - Yes
transformation 4x4 double matrix - - Yes trasformation matrix between depth optical frame to the rgb one

Configuration file using .ini format, using subdevice keyword.

device rgbdSensor_nws_yarp
subdevice depthCamera
name /depthCamera
[SETTINGS]
accuracy 0.001
depthResolution (320 240) #Note the parentesys
rgbResolution (320 240)
rgbMirroring false
depthMirroring false
[HW_DESCRIPTION]
clipPlanes (0.4 4.5)
[RGB_INTRINSIC_PARAMETERS]
physFocalLength 0.5
focalLengthX 1.0
focalLengthY 2.0
principalPointX 256.0
principalPointY 128.0
distortionModel rgb_distortion
[rgb_distortion]
name plumb_bob
k1 1.0
k2 2.0
t1 3.0
t2 4.0
k3 5.0
[DEPTH_INTRINSIC_PARAMETERS]
physFocalLength 0.5
focalLengthX 1.0
focalLengthY 2.0
principalPointX 256.0
principalPointY 128.0
distortionModel depth_distortion
[depth_distortion]
name plumb_bob
k1 1.0
k2 2.0
t1 3.0
t2 4.0
k3 5.0
[EXTRINSIC_PARAMETERS]
transformation (1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0)

Definition at line 180 of file depthCameraDriver.h.

Constructor & Destructor Documentation

◆ depthCameraDriver()

depthCameraDriver::depthCameraDriver ( )

Definition at line 134 of file depthCameraDriver.cpp.

◆ ~depthCameraDriver()

depthCameraDriver::~depthCameraDriver ( )

Definition at line 149 of file depthCameraDriver.cpp.

Member Function Documentation

◆ close()

bool depthCameraDriver::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 450 of file depthCameraDriver.cpp.

◆ getActive()

ReturnValue depthCameraDriver::getActive ( int  feature,
bool isActive 
)
override

Definition at line 1059 of file depthCameraDriver.cpp.

◆ getCameraDescription()

ReturnValue depthCameraDriver::getCameraDescription ( CameraDescriptor camera)
override

Definition at line 897 of file depthCameraDriver.cpp.

◆ getDepthAccuracy()

ReturnValue depthCameraDriver::getDepthAccuracy ( double accuracy)
overridevirtual

Get the minimum detectable variation in distance [meter].

Parameters
accuracywill return the sensor resolution in meters.
Returns
true on success

Implements yarp::dev::IDepthVisualParams.

Definition at line 688 of file depthCameraDriver.cpp.

◆ getDepthClipPlanes()

ReturnValue depthCameraDriver::getDepthClipPlanes ( double nearPlane,
double farPlane 
)
overridevirtual

Get the clipping planes of the sensor.

Parameters
nearPlaneminimum distance at which the sensor start measuring. Object closer than this distance will not be detected.
farPlanemaximum distance beyond which the sensor stop measuring. Object farther than this distance will not be detected.
Returns
true if success

Implements yarp::dev::IDepthVisualParams.

Definition at line 697 of file depthCameraDriver.cpp.

◆ getDepthFOV()

ReturnValue depthCameraDriver::getDepthFOV ( double horizontalFov,
double verticalFov 
)
overridevirtual

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

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

Implements yarp::dev::IDepthVisualParams.

Definition at line 670 of file depthCameraDriver.cpp.

◆ getDepthHeight()

int depthCameraDriver::getDepthHeight ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IDepthVisualParams.

Definition at line 652 of file depthCameraDriver.cpp.

◆ getDepthImage()

ReturnValue depthCameraDriver::getDepthImage ( depthImage depthImage,
Stamp timeStamp = NULL 
)
override

Definition at line 759 of file depthCameraDriver.cpp.

◆ getDepthIntrinsicParam()

ReturnValue depthCameraDriver::getDepthIntrinsicParam ( Property intrinsic)
overridevirtual

Get the intrinsic parameters of the depth 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::IDepthVisualParams.

Definition at line 683 of file depthCameraDriver.cpp.

◆ getDepthMirroring()

ReturnValue depthCameraDriver::getDepthMirroring ( 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::IDepthVisualParams.

Definition at line 725 of file depthCameraDriver.cpp.

◆ getDepthWidth()

int depthCameraDriver::getDepthWidth ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IDepthVisualParams.

Definition at line 661 of file depthCameraDriver.cpp.

◆ getExtrinsicParam()

ReturnValue depthCameraDriver::getExtrinsicParam ( yarp::sig::Matrix extrinsic)
overridevirtual

Get the extrinsic parameters from the device.

Parameters
extrinsicreturn a rototranslation matrix describing the position of the depth optical frame with respect to the rgb frame
Returns
true if success

Implements yarp::dev::IRGBDSensor.

Definition at line 748 of file depthCameraDriver.cpp.

◆ getFeature() [1/2]

ReturnValue depthCameraDriver::getFeature ( int  feature,
double value 
)
override

Definition at line 966 of file depthCameraDriver.cpp.

◆ getFeature() [2/2]

ReturnValue depthCameraDriver::getFeature ( int  feature,
double value1,
double value2 
)
override

Definition at line 1002 of file depthCameraDriver.cpp.

◆ getImages()

ReturnValue depthCameraDriver::getImages ( FlexImage colorFrame,
depthImage depthFrame,
Stamp colorStamp = NULL,
Stamp depthStamp = NULL 
)
override

Definition at line 860 of file depthCameraDriver.cpp.

◆ getLastErrorMsg()

std::string depthCameraDriver::getLastErrorMsg ( Stamp timeStamp = NULL)
override

Definition at line 892 of file depthCameraDriver.cpp.

◆ getMode()

ReturnValue depthCameraDriver::getMode ( int  feature,
FeatureMode mode 
)
override

Definition at line 1160 of file depthCameraDriver.cpp.

◆ getRgbFOV()

ReturnValue depthCameraDriver::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 599 of file depthCameraDriver.cpp.

◆ getRgbHeight()

int depthCameraDriver::getRgbHeight ( )
overridevirtual

Return the height of each frame.

Returns
rgb image height

Implements yarp::dev::IRgbVisualParams.

Definition at line 461 of file depthCameraDriver.cpp.

◆ getRgbImage()

ReturnValue depthCameraDriver::getRgbImage ( FlexImage rgbImage,
Stamp timeStamp = NULL 
)
overridevirtual

Get the rgb frame from the device.

The pixel type of the source image will usually be set as a VOCAB_PIXEL_RGB, but the user can call the function with the pixel type of his/her choice. The conversion if possible, will be done automatically on client side (TO BO VERIFIED). Note: this will consume CPU power because it will not use GPU optimization. Use VOCAB_PIXEL_RGB for best performances.

Parameters
rgbImagethe image to be filled.
timeStamptime in which the image was acquired. Optional, ignored if nullptr.
Returns
True on success

Implements yarp::dev::IRGBDSensor.

Definition at line 754 of file depthCameraDriver.cpp.

◆ getRgbIntrinsicParam()

ReturnValue depthCameraDriver::getRgbIntrinsicParam ( 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 647 of file depthCameraDriver.cpp.

◆ getRgbMirroring()

ReturnValue depthCameraDriver::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 612 of file depthCameraDriver.cpp.

◆ getRgbResolution()

ReturnValue depthCameraDriver::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 487 of file depthCameraDriver.cpp.

◆ getRgbSupportedConfigurations()

ReturnValue depthCameraDriver::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 481 of file depthCameraDriver.cpp.

◆ getRgbWidth()

int depthCameraDriver::getRgbWidth ( )
overridevirtual

Return the width of each frame.

Returns
rgb image width

Implements yarp::dev::IRgbVisualParams.

Definition at line 471 of file depthCameraDriver.cpp.

◆ getSensorStatus()

IRGBDSensor::RGBDSensor_status depthCameraDriver::getSensorStatus ( )
override

Definition at line 865 of file depthCameraDriver.cpp.

◆ hasAuto()

ReturnValue depthCameraDriver::hasAuto ( int  feature,
bool hasAuto 
)
override

Definition at line 1078 of file depthCameraDriver.cpp.

◆ hasFeature()

ReturnValue depthCameraDriver::hasFeature ( int  feature,
bool hasFeature 
)
override

Definition at line 904 of file depthCameraDriver.cpp.

◆ hasManual()

ReturnValue depthCameraDriver::hasManual ( int  feature,
bool hasManual 
)
override

Definition at line 1097 of file depthCameraDriver.cpp.

◆ hasOnePush()

ReturnValue depthCameraDriver::hasOnePush ( int  feature,
bool hasOnePush 
)
override

Definition at line 1116 of file depthCameraDriver.cpp.

◆ hasOnOff()

ReturnValue depthCameraDriver::hasOnOff ( int  feature,
bool HasOnOff 
)
override

Definition at line 1008 of file depthCameraDriver.cpp.

◆ open()

bool depthCameraDriver::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 419 of file depthCameraDriver.cpp.

◆ pixFormatToCode()

int depthCameraDriver::pixFormatToCode ( openni::PixelFormat  p)
static

Definition at line 764 of file depthCameraDriver.cpp.

◆ setActive()

ReturnValue depthCameraDriver::setActive ( int  feature,
bool  onoff 
)
override

Definition at line 1027 of file depthCameraDriver.cpp.

◆ setDepthAccuracy()

ReturnValue depthCameraDriver::setDepthAccuracy ( double  accuracy)
overridevirtual

Set the minimum detectable variation in distance [meter] when possible.

Parameters
thedesired resolution in meters.
Returns
true on success

Implements yarp::dev::IDepthVisualParams.

Definition at line 565 of file depthCameraDriver.cpp.

◆ setDepthClipPlanes()

ReturnValue depthCameraDriver::setDepthClipPlanes ( double  nearPlane,
double  farPlane 
)
overridevirtual

Set the clipping planes of the sensor.

Parameters
nearPlaneminimum distance at which the sensor start measuring. Object closer than this distance will not be detected.
farPlanemaximum distance beyond which the sensor stop measuring. Object farther than this distance will not be detected.
Returns
true if success

Implements yarp::dev::IDepthVisualParams.

Definition at line 712 of file depthCameraDriver.cpp.

◆ setDepthFOV()

ReturnValue depthCameraDriver::setDepthFOV ( double  horizontalFov,
double  verticalFov 
)
overridevirtual

Set the field of view (FOV) of the depth 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::IDepthVisualParams.

Definition at line 556 of file depthCameraDriver.cpp.

◆ setDepthMirroring()

ReturnValue depthCameraDriver::setDepthMirroring ( 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::IDepthVisualParams.

Definition at line 735 of file depthCameraDriver.cpp.

◆ setDepthResolution()

ReturnValue depthCameraDriver::setDepthResolution ( int  width,
int  height 
)
overridevirtual

Set the resolution of the depth image from the camera.

Parameters
widthimage width
heightimage height
Returns
true on success

Implements yarp::dev::IDepthVisualParams.

Definition at line 500 of file depthCameraDriver.cpp.

◆ setFeature() [1/2]

ReturnValue depthCameraDriver::setFeature ( int  feature,
double  value 
)
override

Definition at line 925 of file depthCameraDriver.cpp.

◆ setFeature() [2/2]

ReturnValue depthCameraDriver::setFeature ( int  feature,
double  value1,
double  value2 
)
override

Definition at line 996 of file depthCameraDriver.cpp.

◆ setMode()

ReturnValue depthCameraDriver::setMode ( int  feature,
FeatureMode  mode 
)
override

Definition at line 1128 of file depthCameraDriver.cpp.

◆ setOnePush()

ReturnValue depthCameraDriver::setOnePush ( int  feature)
override

Definition at line 1180 of file depthCameraDriver.cpp.

◆ setRgbFOV()

ReturnValue depthCameraDriver::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 547 of file depthCameraDriver.cpp.

◆ setRgbMirroring()

ReturnValue depthCameraDriver::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 624 of file depthCameraDriver.cpp.

◆ setRgbResolution()

ReturnValue depthCameraDriver::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 530 of file depthCameraDriver.cpp.


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