10 #ifndef CDUO3DCamera_H
11 #define CDUO3DCamera_H
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
Put this macro inside any class with members that require {16,32,64}-byte memory alignment (e....
This class allows loading and storing values and vectors of different types from a configuration text...
This "software driver" implements the communication protocol for interfacing a DUO3D Stereo Camera.
mrpt::vision::CStereoRectifyMap m_rectify_map
void m_set_gain(float value)
Sets DUO3D camera Gain setting
CDUO3DCamera(const CDUO3DCamera &)=delete
virtual ~CDUO3DCamera()
Destructor
bool queryVersion(std::string version, bool printOutVersion=false)
Queries the DUO3D Camera firmware version.
void m_close_duo_camera()
Closes DUO3D camera.
const TCaptureOptions_DUO3D & getCameraOptions() const
Returns the current settings of the camera.
void startCapture()
Start the actual data capture of the camera.
void * m_get_duo_frame()
Gets a stereo frame from the DUO3D Camera (void* to be reinterpreted as PDUOFrame)
bool m_open_duo_camera(int width, int height, float fps)
Opens DUO3D camera.
CDUO3DCamera()
Default Constructor (does not open the camera)
void * m_pframe_data
Pointer, to be reinterpreted as "PDUOFrame".
CDUO3DCamera & operator=(const CDUO3DCamera &)=delete
void m_set_led(float value)
Sets DUO3D camera LED setting
void open(const TCaptureOptions_DUO3D &options, const bool startCapture=true)
Tries to open the camera with the given options, and starts capturing.
void * m_duo
Opaque pointer to DUO's DUOInstance.
void setDataFrame(void *frame)
frame is a reinterpreted PDUOFrame
void m_set_exposure(float value)
Sets DUO3D camera Exposure setting.
void getObservations(mrpt::obs::CObservationStereoImages &outObservation_img, mrpt::obs::CObservationIMU &outObservation_imu, bool &there_is_img, bool &there_is_imu)
Specific laser scanner "software drivers" must process here new data from the I/O stream,...
void close()
Stop capture and closes the opened camera, if any.
void stopCapture()
Stop capture.
void * m_evFrame
DUO's HANDLE.
bool captureIMUIsSet()
Indicates if the camera is grabbing IMU data.
TCaptureOptions_DUO3D m_options
void * getEvent()
Returned pointer to be reinterpreted as DUO3D's "HANDLE".
Structure to hold the parameters of a pinhole stereo camera model.
This class stores measurements from an Inertial Measurement Unit (IMU) (attitude estimation,...
Observation class for either a pair of left+right or left+disparity images from a stereo camera.
Use this class to rectify stereo images if the same distortion maps are reused over and over again.
GLenum GLsizei GLsizei height
GLsizei const GLfloat * value
GLsizei const GLchar ** string
Contains classes for various device interfaces.
Options used when creating a camera capture object of type CImageGrabber_FlyCapture2.
void loadOptionsFrom(const mrpt::config::CConfigFileBase &configSource, const std::string §ionName, const std::string &prefix=std::string())
Loads all the options from a config file.
int m_img_width
(Default = 640) Width of the captured image.
TYMLReadResult m_rectify_map_from_yml(const std::string &_file_name=std::string())
float m_gain
(Default = 10) Camera gain.
bool m_capture_imu
(Default = false) Capture IMU data.
float m_led
(Default = 25) Led intensity (some device models).
float m_fps
(Default = 30) Frames per second <= 30.
@ yrr_NAME_NON_CONSISTENT
bool m_capture_rectified
(Default = true) Rectify images.
bool m_calibration_from_file
(Default = true) Get calibration information from files provided by DUO3D Calibration App.
TYMLReadResult m_camera_int_params_from_yml(const std::string &_file_name=std::string())
int m_img_height
(Default = 480) Height of the captured image.
std::string m_rectify_map_filename
Rectification map file provided by DUO3D Calibration App (YML format).
std::string m_intrinsic_filename
Intrinsic parameters file provided by DUO3D Calibration App (YML format).
float m_exposure
(Default = 50) Exposure value.
std::string m_extrinsic_filename
Extrinsic parameters file provided by DUO3D Calibration App (YML format).
TYMLReadResult m_camera_ext_params_from_yml(const std::string &_file_name=std::string())
mrpt::img::TStereoCamera m_stereo_camera