#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 | getImage (yarp::sig::ImageOf< yarp::sig::PixelRgb > &image) override |
Get an image from the frame grabber. More... | |
bool | getImage (yarp::sig::ImageOf< yarp::sig::PixelMono > &image) override |
Get an image from the frame grabber. 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... | |
![]() | |
DeviceDriver () | |
DeviceDriver (const DeviceDriver &other)=delete | |
DeviceDriver (DeviceDriver &&other) noexcept=delete | |
DeviceDriver & | operator= (const DeviceDriver &other)=delete |
DeviceDriver & | operator= (DeviceDriver &&other) noexcept=delete |
~DeviceDriver () override | |
bool | open (yarp::os::Searchable &config) override |
Open the DeviceDriver. More... | |
bool | close () override |
Close the DeviceDriver. More... | |
virtual std::string | id () const |
Return the id assigned to the PolyDriver. More... | |
virtual void | setId (const std::string &id) |
Set the id for this device. 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... | |
![]() | |
virtual | ~IConfig () |
Destructor. More... | |
virtual bool | open (Searchable &config) |
Initialize the object. More... | |
virtual bool | close () |
Shut the object down. More... | |
virtual bool | configure (Searchable &config) |
Change online parameters. More... | |
![]() | |
virtual bool | getImage (yarp::sig::ImageOf< yarp::sig::PixelRgb > &image)=0 |
Get an image from the frame grabber. More... | |
virtual bool | getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelRgb > &image) |
Get a crop of the image from the frame grabber. More... | |
![]() | |
virtual | ~IFrameGrabberImageBase () |
Destructor. More... | |
virtual int | height () const =0 |
Return the height of each frame. More... | |
virtual int | width () const =0 |
Return the width of each frame. More... | |
![]() | |
virtual bool | getImage (yarp::sig::ImageOf< yarp::sig::PixelMono > &image)=0 |
Get an image from the frame grabber. More... | |
virtual bool | getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelMono > &image) |
Get a crop of the image from the frame grabber. More... | |
![]() | |
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... | |
std::string | busType2String (BusType type) |
FeatureMode | toFeatureMode (bool _auto) |
virtual bool | getCameraDescription (CameraDescriptor *camera)=0 |
Get a basic description of the camera hw. More... | |
virtual bool | hasFeature (int feature, bool *hasFeature)=0 |
Check if camera has the requested feature (saturation, brightness ... ) More... | |
virtual bool | setFeature (int feature, double value)=0 |
Set the requested feature to a value (saturation, brightness ... ) More... | |
virtual bool | getFeature (int feature, double *value)=0 |
Get the current value for the requested feature. More... | |
virtual bool | setFeature (int feature, double value1, double value2)=0 |
Set the requested feature to a value using 2 params (like white balance) More... | |
virtual bool | getFeature (int feature, double *value1, double *value2)=0 |
Get the current value for the requested feature. More... | |
virtual bool | hasOnOff (int feature, bool *HasOnOff)=0 |
Check if the camera has the ability to turn on/off the requested feature. More... | |
virtual bool | setActive (int feature, bool onoff)=0 |
Set the requested feature on or off. More... | |
virtual bool | getActive (int feature, bool *isActive)=0 |
Get the current status of the feature, on or off. More... | |
virtual bool | hasAuto (int feature, bool *hasAuto)=0 |
Check if the requested feature has the 'auto' mode. More... | |
virtual bool | hasManual (int feature, bool *hasManual)=0 |
Check if the requested feature has the 'manual' mode. More... | |
virtual bool | hasOnePush (int feature, bool *hasOnePush)=0 |
Check if the requested feature has the 'onePush' mode. More... | |
virtual bool | setMode (int feature, FeatureMode mode)=0 |
Set the requested mode for the feature. More... | |
virtual bool | getMode (int feature, FeatureMode *mode)=0 |
Get the current mode for the feature. More... | |
virtual bool | setOnePush (int feature)=0 |
Set the requested feature to a value (saturation, brightness ... ) More... | |
![]() | |
virtual | ~IPreciselyTimed () |
virtual yarp::os::Stamp | getLastInputStamp ()=0 |
Return the time stamp relative to the last acquisition. More... | |
![]() | |
PeriodicThread (double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No, PeriodicThreadClock clockAccuracy=PeriodicThreadClock::Relative) | |
Constructor. More... | |
PeriodicThread (double period, PeriodicThreadClock clockAccuracy) | |
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... | |
![]() | |
virtual | ~IRgbVisualParams () |
virtual int | getRgbHeight ()=0 |
Return the height of each frame. More... | |
virtual int | getRgbWidth ()=0 |
Return the width of each frame. More... | |
virtual bool | getRgbSupportedConfigurations (yarp::sig::VectorOf< yarp::dev::CameraConfig > &configurations) |
Get the possible configurations of the camera. More... | |
virtual bool | getRgbResolution (int &width, int &height) |
Get the resolution of the rgb image from the camera. More... | |
virtual bool | setRgbResolution (int width, int height)=0 |
Set the resolution of the rgb image from the camera. More... | |
virtual bool | getRgbFOV (double &horizontalFov, double &verticalFov)=0 |
Get the field of view (FOV) of the rgb camera. More... | |
virtual bool | setRgbFOV (double horizontalFov, double verticalFov)=0 |
Set the field of view (FOV) of the rgb camera. More... | |
virtual bool | getRgbIntrinsicParam (yarp::os::Property &intrinsic)=0 |
Get the intrinsic parameters of the rgb camera. More... | |
virtual bool | getRgbMirroring (bool &mirror)=0 |
Get the mirroring setting of the sensor. More... | |
virtual bool | setRgbMirroring (bool mirror)=0 |
Set the mirroring setting of the sensor. More... | |
Additional Inherited Members | |
![]() | |
virtual bool | threadInit () |
Initialization method. More... | |
virtual void | threadRelease () |
Release method. More... | |
virtual void | run ()=0 |
Loop function. More... | |
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 129 of file V4L_camera.h.
V4L_camera::V4L_camera | ( | ) |
Definition at line 87 of file V4L_camera.cpp.
|
overridevirtual |
close device
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 869 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 1793 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 1614 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 1667 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 1705 of file V4L_camera.cpp.
|
overridevirtual |
Get an image from the frame grabber.
image | the image to be filled |
Implements yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelMono > >.
Definition at line 913 of file V4L_camera.cpp.
|
overridevirtual |
Get an image from the frame grabber.
image | the image to be filled |
Implements yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelRgb > >.
Definition at line 888 of file V4L_camera.cpp.
|
overridevirtual |
Return the time stamp relative to the last acquisition.
Implements yarp::dev::IPreciselyTimed.
Definition at line 141 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 1954 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 335 of file V4L_camera.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IRgbVisualParams.
Definition at line 300 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 | |
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 348 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 354 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 315 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 310 of file V4L_camera.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IRgbVisualParams.
Definition at line 305 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 1826 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 1621 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 1856 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 1870 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 1715 of file V4L_camera.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IFrameGrabberImageBase.
Definition at line 935 of file V4L_camera.cpp.
|
overridevirtual |
open device
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 221 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 1743 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 1648 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 1692 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 1885 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 2021 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 342 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 361 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 322 of file V4L_camera.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IFrameGrabberImageBase.
Definition at line 948 of file V4L_camera.cpp.