85 const std::string & sectionName,
86 const std::string & prefix = std::string() );
176 bool & there_is_imu );
182 inline void*
getEvent() {
return this->m_evFrame; }
185 inline void setDataFrame(
void* frame ) { this->m_pframe_data = frame; }
This "software driver" implements the communication protocol for interfacing a DUO3D Stereo Camera.
mrpt::vision::CStereoRectifyMap m_rectify_map
const TCaptureOptions_DUO3D & getCameraOptions() const
Returns the current settings of the camera.
CDUO3DCamera()
Default Constructor (does not open the camera)
void m_set_led(float value)
Sets DUO3D camera LED setting
CDUO3DCamera(const TCaptureOptions_DUO3D &options)
Constructor: tries to open the camera with the given options.
bool queryVersion(std::string version, bool printOutVersion=false)
Queries the DUO3D Camera firmware version.
void m_close_duo_camera()
Closes DUO3D camera.
void m_set_gain(float value)
Sets DUO3D camera Gain setting
void startCapture()
Start the actual data capture of the camera.
bool m_open_duo_camera(int width, int height, float fps)
Opens DUO3D camera.
void * getEvent()
Returned pointer to be reinterpreted as DUO3D's "HANDLE".
void * m_get_duo_frame()
Gets a stereo frame from the DUO3D Camera (void* to be reinterpreted as PDUOFrame)
void * m_pframe_data
Pointer, to be reinterpreted as "PDUOFrame".
void m_set_exposure(float value)
Sets DUO3D camera Exposure setting.
virtual ~CDUO3DCamera()
Destructor
void * m_duo
Opaque pointer to DUO's DUOInstance.
void close()
Stop capture and closes the opened camera, if any.
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 setDataFrame(void *frame)
frame is a reinterpreted PDUOFrame
void open(const TCaptureOptions_DUO3D &options, const bool startCapture=true)
Tries to open the camera with the given options, and starts capturing.
void stopCapture()
Stop capture.
void * m_evFrame
DUO's HANDLE.
bool captureIMUIsSet()
Indicates if the camera is grabbing IMU data.
TCaptureOptions_DUO3D m_options
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.
This class allows loading and storing values and vectors of different types from a configuration text...
The base class of classes that cannot be copied: compile-time errors will be issued on any copy opera...
Structure to hold the parameters of a pinhole stereo camera model.
Use this class to rectify stereo images if the same distortion maps are reused over and over again.
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Options used when creating a camera capture object of type CImageGrabber_FlyCapture2.
mrpt::utils::TStereoCamera m_stereo_camera
int m_img_width
(Default = 640) Width of the captured image.
float m_gain
(Default = 10) Camera gain.
bool m_capture_imu
(Default = false) Capture IMU data.
void loadOptionsFrom(const mrpt::utils::CConfigFileBase &configSource, const std::string §ionName, const std::string &prefix=std::string())
Loads all the options from a config file.
float m_led
(Default = 25) Led intensity (some device models).
float m_fps
(Default = 30) Frames per second <= 30.
TYMLReadResult m_camera_int_params_from_yml(const std::string &_file_name=std::string())
TYMLReadResult m_rectify_map_from_yml(const std::string &_file_name=std::string())
bool m_capture_rectified
(Default = true) Rectify images. Rectification map must be provided
bool m_calibration_from_file
(Default = true) Get calibration information from files provided by DUO3D Calibration App.
TYMLReadResult m_camera_ext_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).