fakeFrameGrabber
: A fake camera for testing.
More...
#include <fake/fakeFrameGrabber/FakeFrameGrabber.h>
Public Member Functions | |
FakeFrameGrabber ()=default | |
FakeFrameGrabber (const FakeFrameGrabber &)=delete | |
FakeFrameGrabber (FakeFrameGrabber &&)=delete | |
FakeFrameGrabber & | operator= (const FakeFrameGrabber &)=delete |
FakeFrameGrabber & | operator= (FakeFrameGrabber &&)=delete |
~FakeFrameGrabber () override=default | |
bool | close () override |
Close the DeviceDriver. | |
bool | open (yarp::os::Searchable &config) override |
bool | read (yarp::os::ConnectionReader &connection) override |
Read this object from a network connection. | |
void | run () override |
Main body of the new thread. | |
void | onStop () override |
Call-back, called while halting the thread (before join). | |
void | timing () |
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 | 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. | |
bool | getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelRgb > &image) override |
Get a crop of the image from the frame grabber. | |
bool | getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelMono > &image) override |
yarp::os::Stamp | getLastInputStamp () override |
Return the time stamp relative to the last acquisition. | |
bool | hasAudio () override |
bool | hasVideo () override |
bool | hasRawVideo () override |
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::IFrameGrabberImageBase | |
virtual | ~IFrameGrabberImageBase () |
Destructor. | |
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::dev::IAudioVisualStream | |
virtual | ~IAudioVisualStream () |
Destructor. | |
Public Member Functions inherited from yarp::dev::IRgbVisualParams | |
virtual | ~IRgbVisualParams () |
Public Member Functions inherited from yarp::os::Thread | |
Thread () | |
Constructor. | |
virtual | ~Thread () |
Destructor. | |
bool | start () |
Start the new thread running. | |
bool | stop () |
Stop the thread. | |
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(). | |
virtual bool | threadInit () |
Initialization method. | |
virtual void | threadRelease () |
Release method. | |
bool | isStopping () |
Returns true if the thread is stopping (Thread::stop has been called). | |
bool | isRunning () |
Returns true if the thread is running (Thread::start has been called successfully and the thread has not stopped). | |
long int | getKey () |
Get a unique identifier for the thread. | |
int | setPriority (int priority, int policy=-1) |
Set the priority and scheduling policy of the thread, if the OS supports that. | |
int | getPriority () |
Query the current priority of the thread, if the OS supports that. | |
int | getPolicy () |
Query the current scheduling policy of the thread, if the OS supports that. | |
bool | join (double seconds=-1) |
The function returns when the thread execution has completed. | |
void | setOptions (int stackSize=0) |
Set the stack size for the new thread. | |
Public Member Functions inherited from yarp::os::PortReader | |
virtual | ~PortReader () |
Destructor. | |
virtual Type | getReadType () const |
Public Member Functions inherited from FakeFrameGrabber_ParamsParser | |
FakeFrameGrabber_ParamsParser () | |
~FakeFrameGrabber_ParamsParser () override=default | |
bool | parseParams (const yarp::os::Searchable &config) override |
Parse the DeviceDriver parameters. | |
std::string | getDeviceClassName () const override |
Get the name of the DeviceDriver class. | |
std::string | getDeviceName () const override |
Get the name of the device (i.e. | |
std::string | getDocumentationOfDeviceParams () const override |
Get the documentation of the DeviceDriver's parameters. | |
std::vector< std::string > | getListOfParams () const override |
Return a list of all params used by the device. | |
Public Member Functions inherited from yarp::dev::IDeviceDriverParams | |
virtual | ~IDeviceDriverParams () |
Additional Inherited Members | |
Static Public Member Functions inherited from yarp::os::Thread | |
static int | getCount () |
Check how many threads are running. | |
static long int | getKeyOfCaller () |
Get a unique identifier for the calling thread. | |
static void | yield () |
Reschedule the execution of current thread, allowing other threads to run. | |
static void | setDefaultStackSize (int stackSize) |
Set the default stack size for all threads created after this point. | |
Public Attributes inherited from FakeFrameGrabber_ParamsParser | |
const std::string | m_device_classname = {"FakeFrameGrabber"} |
const std::string | m_device_name = {"fakeFrameGrabber"} |
bool | m_parser_is_strict = false |
const parser_version_type | m_parser_version = {} |
const std::string | m_width_defaultValue = {"320"} |
const std::string | m_height_defaultValue = {"240"} |
const std::string | m_horizontalFov_defaultValue = {"1.0"} |
const std::string | m_verticalFov_defaultValue = {"2.0"} |
const std::string | m_fakeFrameGrabber_rpc_port_defaultValue = {"/fakeFrameGrabber/rpc"} |
const std::string | m_mirror_defaultValue = {"false"} |
const std::string | m_syncro_defaultValue = {"false"} |
const std::string | m_topIsLow_defaultValue = {"true"} |
const std::string | m_physFocalLength_defaultValue = {"3.0"} |
const std::string | m_focalLengthX_defaultValue = {"4.0"} |
const std::string | m_focalLengthY_defaultValue = {"5.0"} |
const std::string | m_principalPointX_defaultValue = {"6.0"} |
const std::string | m_principalPointY_defaultValue = {"7.0"} |
const std::string | m_distortionModel_defaultValue = {"FishEye"} |
const std::string | m_k1_defaultValue = {"8.0"} |
const std::string | m_k2_defaultValue = {"9.0"} |
const std::string | m_k3_defaultValue = {"10.0"} |
const std::string | m_t1_defaultValue = {"11.0"} |
const std::string | m_t2_defaultValue = {"12.0"} |
const std::string | m_freq_defaultValue = {"0"} |
const std::string | m_period_defaultValue = {"0"} |
const std::string | m_mode_defaultValue = {"[line]"} |
const std::string | m_src_defaultValue = {""} |
const std::string | m_add_timestamp_defaultValue = {"false"} |
const std::string | m_add_noise_defaultValue = {"false"} |
const std::string | m_bayer_defaultValue = {"false"} |
const std::string | m_mono_defaultValue = {"false"} |
const std::string | m_snr_defaultValue = {"0.5"} |
const std::string | m_rectificationMatrix_defaultValue = {"(1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0)"} |
int | m_width = {320} |
int | m_height = {240} |
double | m_horizontalFov = {1.0} |
double | m_verticalFov = {2.0} |
std::string | m_fakeFrameGrabber_rpc_port = {"/fakeFrameGrabber/rpc"} |
bool | m_mirror = {false} |
bool | m_syncro = {false} |
double | m_physFocalLength = {3.0} |
double | m_focalLengthX = {4.0} |
double | m_focalLengthY = {5.0} |
double | m_principalPointX = {6.0} |
double | m_principalPointY = {7.0} |
std::string | m_distortionModel = {"FishEye"} |
double | m_k1 = {8.0} |
double | m_k2 = {9.0} |
double | m_k3 = {10.0} |
double | m_t1 = {11.0} |
double | m_t2 = {12.0} |
double | m_freq = {0} |
double | m_period = {0} |
std::string | m_mode = {"[line]"} |
std::string | m_src = {} |
bool | m_add_timestamp = {false} |
bool | m_add_noise = {false} |
bool | m_bayer = {false} |
bool | m_mono = {false} |
double | m_snr = {0.5} |
std::vector< double > | m_rectificationMatrix = { } |
fakeFrameGrabber
: A fake camera for testing.
Implements the IFrameGrabberImage and IFrameGrabberControls interfaces.
Parameters required by this device are shown in class: FakeFrameGrabber_ParamsParser
Definition at line 40 of file FakeFrameGrabber.h.
|
default |
|
delete |
|
delete |
|
overridedefault |
|
overridevirtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 196 of file FakeFrameGrabber.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 546 of file FakeFrameGrabber.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 538 of file FakeFrameGrabber.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 541 of file FakeFrameGrabber.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 543 of file FakeFrameGrabber.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 468 of file FakeFrameGrabber.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 431 of file FakeFrameGrabber.cpp.
|
override |
Definition at line 518 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Get a crop of the image from the frame grabber.
Note: this is not configuring the camera sensor to acquire a crop of the image, nor to generate a cropped version of the streaming. Instead, the full image is acquired and then a crop is created from it. If the hardware supports it, it is possible to override this method and request a hardware crop.
cropType | enum specifying how the crop shall be generated |
vertices | the input coordinate (u,v) required by the cropType |
image | the image to be filled |
Reimplemented from yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelRgb > >.
Definition at line 510 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Return the time stamp relative to the last acquisition.
Implements yarp::dev::IPreciselyTimed.
Definition at line 526 of file FakeFrameGrabber.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 551 of file FakeFrameGrabber.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 360 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IRgbVisualParams.
Definition at line 335 of file FakeFrameGrabber.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 372 of file FakeFrameGrabber.cpp.
Get the mirroring setting of the sensor.
mirror | true if image is mirrored, false otherwise |
Implements yarp::dev::IRgbVisualParams.
Definition at line 377 of file FakeFrameGrabber.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 348 of file FakeFrameGrabber.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 343 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IRgbVisualParams.
Definition at line 339 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioVisualStream.
Definition at line 530 of file FakeFrameGrabber.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 547 of file FakeFrameGrabber.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 539 of file FakeFrameGrabber.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 548 of file FakeFrameGrabber.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 549 of file FakeFrameGrabber.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 544 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Reimplemented from yarp::dev::IAudioVisualStream.
Definition at line 534 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioVisualStream.
Definition at line 532 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IFrameGrabberImageBase.
Definition at line 327 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Call-back, called while halting the thread (before join).
This callback is executed by the same thread that calls stop(). It should not be called directly. Override this method to do the right thing for your particular Thread::run.
Reimplemented from yarp::os::Thread.
Definition at line 416 of file FakeFrameGrabber.cpp.
|
overridevirtual |
config | The options to use |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 202 of file FakeFrameGrabber.cpp.
|
delete |
|
delete |
|
overridevirtual |
Read this object from a network connection.
Override this for your particular class.
reader | an interface to the network connection for reading |
Implements yarp::os::PortReader.
Definition at line 117 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Main body of the new thread.
Override this method to do what you want. After Thread::start is called, this method will start running in a separate thread. It is important that this method either keeps checking Thread::isStopping to see if it should stop, or you override the Thread::onStop method to interact with it in some way to shut the new thread down. There is no really reliable, portable way to stop a thread cleanly unless that thread cooperates.
Implements yarp::os::Thread.
Definition at line 386 of file FakeFrameGrabber.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 545 of file FakeFrameGrabber.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 540 of file FakeFrameGrabber.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 542 of file FakeFrameGrabber.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 550 of file FakeFrameGrabber.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 552 of file FakeFrameGrabber.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 366 of file FakeFrameGrabber.cpp.
Set the mirroring setting of the sensor.
mirror | true if image should be mirrored, false otherwise |
Implements yarp::dev::IRgbVisualParams.
Definition at line 381 of file FakeFrameGrabber.cpp.
Set the resolution of the rgb image from the camera.
width | image width |
height | image height |
Implements yarp::dev::IRgbVisualParams.
Definition at line 354 of file FakeFrameGrabber.cpp.
void FakeFrameGrabber::timing | ( | ) |
Definition at line 309 of file FakeFrameGrabber.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IFrameGrabberImageBase.
Definition at line 331 of file FakeFrameGrabber.cpp.