10 #ifndef CCameraSensor_H
11 #define CCameraSensor_H
265 mrpt::obs::CObservationPtr getNextFrame( );
266 void getNextFrame( std::vector<mrpt::utils::CSerializablePtr> & out_obs );
271 virtual void initialize();
280 void setSoftwareTriggerLevel(
bool level );
286 virtual void setPathForExternalImages(
const std::string &directory );
292 typedef void (*TPreSaveUserHook)(
const mrpt::obs::CObservationPtr &obs,
void* user_ptr);
297 void addPreSaveHook( TPreSaveUserHook user_function,
void *user_ptr ) { m_hook_pre_save=user_function; m_hook_pre_save_param=user_ptr; };
373 void loadConfig_sensorSpecific(
375 const std::string &iniSection );
408 void thread_save_images(
unsigned int my_working_thread_index);
428 const std::string &in_cfgfile_section_name,
438 const std::string &in_cfgfile_section_name,
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
bool m_sr_save_range_img
Save the 2D range image (default: true)
std::vector< TListObservations > m_toSaveList
The queues of objects to be returned by getObservations, one for each working thread.
This class provides simple critical sections functionality.
Options used when creating an dc1394 capture object All but the frame size, framerate, and color_coding can be changed dynamically by CImageGrabber_dc1394::changeCaptureOptions.
A class for grabing stereo images from a STOC camera of Videre Design NOTE:
COpenNI2Sensor * m_cap_openni2
OpenNI2 object.
std::string m_img_dir_url
std::string m_cv_camera_type
This "software driver" implements the communication protocol for interfacing a DUO3D Stereo Camera...
uint64_t m_dc1394_camera_guid
A wrapper for Point Gray Research (PGR) FlyCapture2 API for capturing images from Firewire...
TCaptureCVOptions m_cv_options
bool m_sr_save_3d
Save the 3D point cloud (default: true)
A class for grabing "range images" from a MESA imaging SwissRanger 3D cameras (SR-2, SR-3000, SR-4k).
TCaptureOptions_bumblebee m_bumblebee_options
void HWDRIVERS_IMPEXP writeConfigFromVideoSourcePanel(void *panel, const std::string &in_cfgfile_section_name, mrpt::utils::CConfigFileBase *out_cfgfile)
Parse the user options in the wxWidgets "panel" and write the configuration into the given section of...
int m_img_dir_start_index
bool m_external_images_own_thread
Whether to launch independent thread.
TCaptureOptions_FlyCapture2 m_flycap_options
A class for grabing "range images", intensity images (either RGB or IR) and other information from an...
bool m_kinect_save_3d
Save the 3D point cloud (default: true)
void * m_hook_pre_save_param
This class allows loading and storing values and vectors of different types from a configuration text...
bool m_threadImagesSaverShouldEnd
std::string m_rawlog_detected_images_dir
bool m_sr_save_intensity_img
Save the 2D intensity image (default: true)
bool m_kinect_save_intensity_img
Save the 2D intensity image (default: true)
mrpt::utils::CFileGZInputStream * m_cap_rawlog
The input file for rawlogs.
CImageGrabber_OpenCV * m_cap_cv
The OpenCV capture object.
A class for grabing "range images", intensity images (either RGB or IR) and other information from an...
The central class for camera grabbers in MRPT, implementing the "generic sensor" interface.
CStereoGrabber_Bumblebee * m_cap_bumblebee
The bumblebee capture object.
CCameraSensorPtr HWDRIVERS_IMPEXP prepareVideoSourceFromUserSelection()
Show to the user a list of possible camera drivers and creates and open the selected camera...
bool m_fcs_start_synch_capture
CSwissRanger3DCamera * m_cap_swissranger
SR 3D camera object.
std::string m_img_dir_right_format
CStereoGrabber_SVS * m_cap_svs
The svs capture object.
A class for grabing images from a IEEE1394 (Firewire) camera using the libdc1394-2 library...
Options used when creating a bumblebee camera capture object.
std::vector< mrpt::system::TThreadHandle > m_threadImagesSaver
stlplus::smart_ptr< CCameraSensor > CCameraSensorPtr
A smart pointer to a CCameraSensor.
Options used when creating a camera capture object of type CImageGrabber_FlyCapture2.
CKinect * m_cap_kinect
Kinect camera object.
CDUO3DCamera * m_cap_duo3d
The DUO3D capture object.
int m_camera_grab_decimator
Options used when creating a camera capture object of type CImageGrabber_FlyCapture2.
void HWDRIVERS_IMPEXP readConfigIntoVideoSourcePanel(void *panel, const std::string &in_cfgfile_section_name, const mrpt::utils::CConfigFileBase *in_cfgfile)
Parse the given section of the given configuration file and set accordingly the controls of the wxWid...
bool m_sr_open_from_usb
true: USB, false: ETH
CImageGrabber_FlyCapture2 * m_cap_flycap_stereo_r
The FlyCapture2 object for stereo pairs.
TPreSaveUserHook m_hook_pre_save
std::string m_grabber_type
Can be "opencv",...
A class for grabing stereo images from a "Bumblebee" or "Bumblebee2" camera NOTE: ...
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
TCaptureOptions_dc1394 m_dc1394_options
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Options used when creating a STOC Videre Design camera capture object.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
std::string m_rawlog_file
bool m_kinect_save_range_img
Save the 2D range image (default: true)
std::string m_sr_ip_address
bool m_kinect_video_rgb
Save RGB or IR channels (default:true)
A class for grabing images from a "OpenCV"-compatible camera, or from an AVI video file...
TCaptureOptions_DUO3D m_duo3d_options
mrpt::synch::CCriticalSection m_csToSaveList
The critical section for m_toSaveList.
CImageGrabber_dc1394 * m_cap_dc1394
The dc1394 capture object.
CImageGrabber_FlyCapture2 * m_cap_flycap
The FlyCapture2 object.
Options used when creating an OpenCV capture object Some options apply to IEEE1394 cameras only...
unsigned int m_external_image_saver_count
Number of working threads. Default:1, set to 2 in quad cores.
CFFMPEG_InputStream * m_cap_ffmpeg
The FFMPEG capture object.
int m_camera_grab_decimator_counter
mrpt::gui::CDisplayWindowPtr m_preview_win2
Normally we'll use only one window, but for stereo images we'll use two of them.
std::string * m_cap_image_dir
Read images from directory.
std::string m_img_dir_left_format
CCameraSensorPtr HWDRIVERS_IMPEXP prepareVideoSourceFromPanel(void *panel)
Used only from MRPT apps: Use with caution since "panel" MUST be a "mrpt::gui::CPanelCameraSelection ...
std::string m_rawlog_camera_sensor_label
This base class provides a common printf-like method to send debug information to std::cout...
TCaptureOptions_SVS m_svs_options
bool m_sr_save_confidence
Save the estimated confidence 2D image (default: false)
int m_bumblebee_camera_index
void enableLaunchOwnThreadForSavingImages(bool enable=true)
This must be called before initialize()