class mrpt::hwdrivers::CStereoGrabber_Bumblebee_libdc1394
Overview
Grabs from a “Bumblebee” or “Bumblebee2” stereo camera using raw access to the libdc1394 library.
Only raw, unrectified images can be captured with this class, which can be rectified offline given the camera calibration. Images are either RGB (demosaiced here) or the raw 8-bit Bayer mosaics sent by the camera (lossless; see bayerPattern()).
Once connected to a camera, you can call getStereoObservation() to retrieve the stereo images.
See also:
You’ll probably want to use instead the most generic camera grabber in MRPT: mrpt::hwdrivers::CCameraSensor
#include <mrpt/hwdrivers/CStereoGrabber_Bumblebee_libdc1394.h> class CStereoGrabber_Bumblebee_libdc1394 { public: // construction CStereoGrabber_Bumblebee_libdc1394( uint64_t cameraGUID, uint16_t cameraUnit, double frameRate, bool bayerDecoding = true ); CStereoGrabber_Bumblebee_libdc1394(const CStereoGrabber_Bumblebee_libdc1394&); // methods CStereoGrabber_Bumblebee_libdc1394& operator = (const CStereoGrabber_Bumblebee_libdc1394&); bool isOpen() const; mrpt::img::BayerPattern bayerPattern() const; bool getStereoObservation(mrpt::obs::CObservationStereoImages& out_observation); };
Construction
CStereoGrabber_Bumblebee_libdc1394( uint64_t cameraGUID, uint16_t cameraUnit, double frameRate, bool bayerDecoding = true )
Constructor.
Parameters have the same meaning as in CImageGrabber_dc1394::CImageGrabber_dc1394().
Parameters:
frameRate |
One of the rates of mrpt::hwdrivers::grabber_dc1394_framerate_t (1.875, 3.75, 7.5, 15, 30, 60, 120 or 240 Hz). |
bayerDecoding |
If false, images are the raw Bayer mosaics. |
std::exception |
On an unsupported frame rate. |
Methods
bool isOpen() const
Whether the camera was opened successfully.
mrpt::img::BayerPattern bayerPattern() const
The color filter of the raw images (see CImageGrabber_dc1394::bayerPattern()).
bool getStereoObservation(mrpt::obs::CObservationStereoImages& out_observation)
Grab stereo images.
The member “CObservationStereoImages::refCameraPose” must be set on the return of this method by the user, since we don’t know here the robot physical structure.
Parameters:
out_observation |
The object to be filled with sensed data. |
Returns:
false on any error, true if all go fine.