#include <usbCamera/linux/V4L_camera.h>
Public Member Functions | |
V4L_camera () | |
bool | open (yarp::os::Searchable &config) override |
open device | |
bool | close () override |
close device | |
yarp::os::Stamp | getLastInputStamp () override |
Return the time stamp relative to the last acquisition. | |
bool | getImage (yarp::sig::ImageOf< yarp::sig::PixelRgb > &image) override |
Get an image from the frame grabber. | |
bool | getImage (yarp::sig::ImageOf< yarp::sig::PixelMono > &image) override |
Get an image from the frame grabber. | |
int | height () const override |
Return the height of each frame. | |
int | width () const override |
Return the width of each frame. | |
int | getRgbHeight () override |
Return the height of each frame. | |
int | getRgbWidth () override |
Return the width of each frame. | |
bool | getRgbSupportedConfigurations (yarp::sig::VectorOf< yarp::dev::CameraConfig > &configurations) override |
Get the possible configurations of the camera. | |
bool | getRgbResolution (int &width, int &height) override |
Get the resolution of the rgb image from the camera. | |
bool | setRgbResolution (int width, int height) override |
Set the resolution of the rgb image from the camera. | |
bool | getRgbFOV (double &horizontalFov, double &verticalFov) override |
Get the field of view (FOV) of the rgb camera. | |
bool | setRgbFOV (double horizontalFov, double verticalFov) override |
Set the field of view (FOV) of the rgb camera. | |
bool | getRgbIntrinsicParam (yarp::os::Property &intrinsic) override |
Get the intrinsic parameters of the rgb camera. | |
bool | getRgbMirroring (bool &mirror) override |
Get the mirroring setting of the sensor. | |
bool | setRgbMirroring (bool mirror) override |
Set the mirroring setting of the sensor. | |
bool | getCameraDescription (CameraDescriptor *camera) override |
Get a basic description of the camera hw. | |
bool | hasFeature (int feature, bool *hasFeature) override |
Check if camera has the requested feature (saturation, brightness ... ) | |
bool | setFeature (int feature, double value) override |
Set the requested feature to a value (saturation, brightness ... ) | |
bool | getFeature (int feature, double *value) override |
Get the current value for the requested feature. | |
bool | setFeature (int feature, double value1, double value2) override |
Set the requested feature to a value using 2 params (like white balance) | |
bool | getFeature (int feature, double *value1, double *value2) override |
Get the current value for the requested feature. | |
bool | hasOnOff (int feature, bool *_hasOnOff) override |
Check if the camera has the ability to turn on/off the requested feature. | |
bool | setActive (int feature, bool onoff) override |
Set the requested feature on or off. | |
bool | getActive (int feature, bool *_isActive) override |
Get the current status of the feature, on or off. | |
bool | hasAuto (int feature, bool *_hasAuto) override |
Check if the requested feature has the 'auto' mode. | |
bool | hasManual (int feature, bool *_hasManual) override |
Check if the requested feature has the 'manual' mode. | |
bool | hasOnePush (int feature, bool *_hasOnePush) override |
Check if the requested feature has the 'onePush' mode. | |
bool | setMode (int feature, FeatureMode mode) override |
Set the requested mode for the feature. | |
bool | getMode (int feature, FeatureMode *mode) override |
Get the current mode for the feature. | |
bool | setOnePush (int feature) override |
Set the requested feature to a value (saturation, brightness ... ) | |
Public Member Functions inherited from yarp::dev::DeviceDriver | |
DeviceDriver () | |
DeviceDriver (const DeviceDriver &other)=delete | |
DeviceDriver (DeviceDriver &&other) noexcept=delete | |
DeviceDriver & | operator= (const DeviceDriver &other)=delete |
DeviceDriver & | operator= (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 DeviceDriver * | getImplementation () |
Some drivers are bureaucrats, pointing at others. | |
Public Member Functions inherited from yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelRgb > > | |
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. | |
Public Member Functions inherited from yarp::dev::IFrameGrabberImageBase | |
virtual | ~IFrameGrabberImageBase () |
Destructor. | |
Public Member Functions inherited from yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelMono > > | |
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. | |
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::IPreciselyTimed | |
virtual | ~IPreciselyTimed () |
Public Member Functions inherited from yarp::os::PeriodicThread | |
PeriodicThread (double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No, PeriodicThreadClock clockAccuracy=PeriodicThreadClock::Relative) | |
Constructor. | |
PeriodicThread (double period, PeriodicThreadClock clockAccuracy) | |
Constructor. | |
virtual | ~PeriodicThread () |
bool | start () |
Call this to start the thread. | |
void | step () |
Call this to "step" the thread rather than starting it. | |
void | stop () |
Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() called). | |
void | askToStop () |
Stop the thread. | |
bool | isRunning () const |
Returns true when the thread is started, false otherwise. | |
bool | isSuspended () const |
Returns true when the thread is suspended, false otherwise. | |
bool | setPeriod (double period) |
Set the (new) period of the thread. | |
double | getPeriod () const |
Return the current period of the thread. | |
void | suspend () |
Suspend the thread, the thread keeps running by doLoop is never executed. | |
void | resume () |
Resume the thread if previously suspended. | |
void | resetStat () |
Reset thread statistics. | |
double | getEstimatedPeriod () const |
Return estimated period since last reset. | |
void | getEstimatedPeriod (double &av, double &std) const |
Return estimated period since last reset. | |
unsigned int | getIterations () const |
Return the number of iterations performed since last reset. | |
double | getEstimatedUsed () const |
Return the estimated duration of the run() function since last reset. | |
void | getEstimatedUsed (double &av, double &std) const |
Return estimated duration of the run() function since last reset. | |
int | setPriority (int priority, int policy=-1) |
Set the priority and scheduling policy of the thread, if the OS supports that. | |
int | getPriority () const |
Query the current priority of the thread, if the OS supports that. | |
int | getPolicy () const |
Query the current scheduling policy of the thread, if the OS supports that. | |
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. | |
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(). | |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.