#include <usbCamera/linux/V4L_camera.h>
Public Member Functions | |
V4L_camera () | |
bool | open (yarp::os::Searchable &config) override |
open device More... | |
bool | close () override |
close device More... | |
yarp::os::Stamp | getLastInputStamp () override |
Return the time stamp relative to the last acquisition. More... | |
bool | getRgbBuffer (unsigned char *buffer) override |
Get a rgb buffer from the frame grabber, if required demosaicking/color reconstruction is applied. More... | |
bool | getRawBuffer (unsigned char *buffer) override |
Get the raw buffer from the frame grabber. More... | |
int | getRawBufferSize () override |
Get the size of the card's internal buffer, the user should use this method to allocate the storage to contain a raw frame (getRawBuffer). More... | |
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 | 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 DeviceDriver * | getImplementation () |
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::IFrameGrabberRgb | |
virtual | ~IFrameGrabberRgb () |
Public Member Functions inherited from yarp::dev::IFrameGrabber | |
virtual | ~IFrameGrabber () |
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::os::PeriodicThread | |
PeriodicThread (double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No) | |
Constructor. More... | |
virtual | ~PeriodicThread () |
bool | start () |
Call this to start the thread. More... | |
void | step () |
Call this to "step" the thread rather than starting it. More... | |
void | stop () |
Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() called). More... | |
void | askToStop () |
Stop the thread. More... | |
bool | isRunning () const |
Returns true when the thread is started, false otherwise. More... | |
bool | isSuspended () const |
Returns true when the thread is suspended, false otherwise. More... | |
bool | setPeriod (double period) |
Set the (new) period of the thread. More... | |
double | getPeriod () const |
Return the current period of the thread. More... | |
void | suspend () |
Suspend the thread, the thread keeps running by doLoop is never executed. More... | |
void | resume () |
Resume the thread if previously suspended. More... | |
void | resetStat () |
Reset thread statistics. More... | |
double | getEstimatedPeriod () const |
Return estimated period since last reset. More... | |
void | getEstimatedPeriod (double &av, double &std) const |
Return estimated period since last reset. More... | |
unsigned int | getIterations () const |
Return the number of iterations performed since last reset. More... | |
double | getEstimatedUsed () const |
Return the estimated duration of the run() function since last reset. More... | |
void | getEstimatedUsed (double &av, double &std) const |
Return estimated duration of the run() function since last reset. More... | |
int | setPriority (int priority, int policy=-1) |
Set the priority and scheduling policy of the thread, if the OS supports that. More... | |
int | getPriority () const |
Query the current priority of the thread, if the OS supports that. More... | |
int | getPolicy () const |
Query the current scheduling policy of the thread, if the OS supports that. More... | |
Public Member Functions inherited from yarp::dev::IRgbVisualParams | |
virtual | ~IRgbVisualParams () |
Additional Inherited Members | |
Protected Member Functions inherited from yarp::os::PeriodicThread | |
virtual void | beforeStart () |
Called just before a new thread starts. More... | |
virtual void | afterStart (bool success) |
Called just after a new thread starts (or fails to start), this is executed by the same thread that calls start(). More... | |
Definition at line 141 of file V4L_camera.h.
V4L_camera::V4L_camera | ( | ) |
Definition at line 100 of file V4L_camera.cpp.
|
overridevirtual |
close device
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 882 of file V4L_camera.cpp.
|
overridevirtual |
Get the current status of the feature, on or off.
feature | the identifier of the feature to check |
isActive | flag true if the feature is active, false otherwise |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1810 of file V4L_camera.cpp.
|
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.
device | returns an identifier for the bus |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1631 of file V4L_camera.cpp.
|
overridevirtual |
Get the current value for the requested feature.
feature | the identifier of the feature to read |
value | pointer to current value of the feature, from 0 to 1 expressed as a percentage |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1684 of file V4L_camera.cpp.
|
overridevirtual |
Get the current value for the requested feature.
feature | the identifier of the feaature to read |
value1 | returns the current value of the feature, from 0 to 1 expressed as a percentage |
value2 | returns the current value of the feature, from 0 to 1 expressed as a percentage |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1722 of file V4L_camera.cpp.
|
overridevirtual |
Return the time stamp relative to the last acquisition.
Implements yarp::dev::IPreciselyTimed.
Definition at line 154 of file V4L_camera.cpp.
|
overridevirtual |
Get the current mode for the feature.
feature | the identifier of the feature to change |
hasAuto | flag true if the feature is has 'auto' mode, false otherwise |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1971 of file V4L_camera.cpp.
|
overridevirtual |
Get the raw buffer from the frame grabber.
The driver returns a copy of the internal memory buffer acquired by the frame grabber, no post processing is applied (e.g. no color reconstruction/demosaicking). The user must allocate the buffer; the size of the buffer, in bytes, is determined by calling getRawBufferSize().
buffer | pointer to the buffer to be filled (must be previously allocated) |
Implements yarp::dev::IFrameGrabber.
Definition at line 927 of file V4L_camera.cpp.
|
overridevirtual |
Get the size of the card's internal buffer, the user should use this method to allocate the storage to contain a raw frame (getRawBuffer).
Implements yarp::dev::IFrameGrabber.
Definition at line 943 of file V4L_camera.cpp.
|
overridevirtual |
Get a rgb buffer from the frame grabber, if required demosaicking/color reconstruction is applied.
buffer | pointer to the buffer to be filled (must be previously allocated) |
Implements yarp::dev::IFrameGrabberRgb.
Definition at line 903 of file V4L_camera.cpp.
|
overridevirtual |
Get the field of view (FOV) of the rgb camera.
horizontalFov | will return the value of the horizontal fov in degrees |
verticalFov | will return the value of the vertical fov in degrees |
Implements yarp::dev::IRgbVisualParams.
Definition at line 348 of file V4L_camera.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IRgbVisualParams.
Definition at line 313 of file V4L_camera.cpp.
|
overridevirtual |
Get the intrinsic parameters of the rgb camera.
intrinsic | return a Property containing intrinsic parameters of the optical model of the camera. |
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 361 of file V4L_camera.cpp.
|
overridevirtual |
Get the mirroring setting of the sensor.
mirror | true if image is mirrored, false otherwise |
Implements yarp::dev::IRgbVisualParams.
Definition at line 367 of file V4L_camera.cpp.
|
overridevirtual |
Get the resolution of the rgb image from the camera.
width | image width |
height | image height |
Reimplemented from yarp::dev::IRgbVisualParams.
Definition at line 328 of file V4L_camera.cpp.
|
overridevirtual |
Get the possible configurations of the camera.
configurations | list of camera supported configurations as CameraConfig type |
Reimplemented from yarp::dev::IRgbVisualParams.
Definition at line 323 of file V4L_camera.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IRgbVisualParams.
Definition at line 318 of file V4L_camera.cpp.
|
overridevirtual |
Check if the requested feature has the 'auto' mode.
feature | the identifier of the feature to check |
hasAuto | flag true if the feature is has 'auto' mode, false otherwise |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1843 of file V4L_camera.cpp.
|
overridevirtual |
Check if camera has the requested feature (saturation, brightness ...
)
feature | the identifier of the feature to check |
hasFeature | flag value: true if the feature is present, false otherwise |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1638 of file V4L_camera.cpp.
|
overridevirtual |
Check if the requested feature has the 'manual' mode.
feature | the identifier of the feature to check |
hasAuto | flag true if the feature is has 'manual' mode, false otherwise |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1873 of file V4L_camera.cpp.
|
overridevirtual |
Check if the requested feature has the 'onePush' mode.
feature | the identifier of the feature to check |
hasAuto | flag true if the feature is has 'onePush' mode, false otherwise |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1887 of file V4L_camera.cpp.
|
overridevirtual |
Check if the camera has the ability to turn on/off the requested feature.
feature | the identifier of the feature to change |
hasOnOff | flag true if this feature can be turned on/off, false otherwise. |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1732 of file V4L_camera.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IFrameGrabber.
Definition at line 952 of file V4L_camera.cpp.
|
overridevirtual |
open device
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 234 of file V4L_camera.cpp.
|
overridevirtual |
Set the requested feature on or off.
feature | the identifier of the feature to change |
onoff | true to activate, off to deactivate the feature |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1760 of file V4L_camera.cpp.
|
overridevirtual |
Set the requested feature to a value (saturation, brightness ...
)
feature | the identifier of the feature to change |
value | new value of the feature, range from 0 to 1 expressed as a percentage |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1665 of file V4L_camera.cpp.
|
overridevirtual |
Set the requested feature to a value using 2 params (like white balance)
feature | the identifier of the feature to change |
value1 | first param, from 0 to 1 expressed as a percentage |
value2 | second param, from 0 to 1 expressed as a percentage |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1709 of file V4L_camera.cpp.
|
overridevirtual |
Set the requested mode for the feature.
feature | the identifier of the feature to change |
auto_onoff | true to activate 'auto' mode, false to activate 'manual' mode |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 1902 of file V4L_camera.cpp.
|
overridevirtual |
Set the requested feature to a value (saturation, brightness ...
)
feature | the identifier of the feature to change |
value | new value of the feature, from 0 to 1 as a percentage of param range |
Implements yarp::dev::IFrameGrabberControls.
Definition at line 2038 of file V4L_camera.cpp.
|
overridevirtual |
Set the field of view (FOV) of the rgb camera.
horizontalFov | will set the value of the horizontal fov in degrees |
verticalFov | will set the value of the vertical fov in degrees |
Implements yarp::dev::IRgbVisualParams.
Definition at line 355 of file V4L_camera.cpp.
|
overridevirtual |
Set the mirroring setting of the sensor.
mirror | true if image should be mirrored, false otherwise |
Implements yarp::dev::IRgbVisualParams.
Definition at line 374 of file V4L_camera.cpp.
|
overridevirtual |
Set the resolution of the rgb image from the camera.
width | image width |
height | image height |
Implements yarp::dev::IRgbVisualParams.
Definition at line 335 of file V4L_camera.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IFrameGrabber.
Definition at line 965 of file V4L_camera.cpp.