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.