MRPT logo

mrpt::vision::CStereoGrabber_Bumblebee Class Reference

A class for grabing stereo images from a "Bumblebee" camera NOTE: More...

#include <mrpt/vision/CStereoGrabber_Bumblebee.h>

List of all members.

Public Member Functions

 CStereoGrabber_Bumblebee (int cameraIndex=0, const TCaptureOptions_bumblebee &options=TCaptureOptions_bumblebee())
 Constructor:.
 CStereoGrabber_Bumblebee (const CStereoGrabber_Bumblebee &)
CStereoGrabber_Bumblebeeoperator= (const CStereoGrabber_Bumblebee &)
virtual ~CStereoGrabber_Bumblebee (void)
 Destructor.
bool getObservation (mrpt::slam::CObservationVisualLandmarks &out_observation)
 Grab stereo images, process them, and return the computed data.
bool getObservation (TROI ROI, mrpt::slam::CObservationVisualLandmarks &out_observation)
 Grab stereo images, process them, and return the computed data.
bool getStereoObservation (mrpt::slam::CObservationStereoImages &out_observation)
 Grab stereo images, and return the pair of rectified images.
bool getBothObservation (mrpt::slam::CObservationVisualLandmarks &out_observation, mrpt::slam::CObservationStereoImages &out_observationStereo)
 This is a merge method for "getImagesPairObservation" and "getObservation", which gets both kind of observations.
bool getBothObservation (TROI ROI, mrpt::slam::CObservationVisualLandmarks &out_observation, mrpt::slam::CObservationStereoImages &out_observationStereo)
 This is a merge method for "getImagesPairObservation" and "getObservation", which gets both kind of observations.
bool getBothObservation (vector_float &vX, vector_float &vY, vector_float &vZ, mrpt::slam::CObservationStereoImages &out_observationStereo)
 This is a fast merge method for "getImagesPairObservation" and "getObservation", which gets both kind of observations.

Public Attributes

TCaptureOptions_bumblebee m_options
 Bumblebee camera frame rate (Default: 15 fps).

Protected Attributes

void * m_triclops
 The Triclops context (TriclopsContext).
void * m_flycapture
 The Flycapture context (FlyCaptureContext).
vector_byte m_imgBuff
 A buffer to store an image.
bool m_bInitialized
 If this has been correctly initiated.
unsigned int m_resolutionX
unsigned int m_resolutionY
 The desired resolution.
float m_baseline
 Camera baseline.
float m_focalLength
 Camera focal length.
float m_centerCol
float m_centerRow
 Camera center coordinates.

Private Member Functions

void scaleImage (void *image, unsigned char ucMinOut, unsigned char ucMaxOut)
void convertTriclopsImageTo8BitsIplImage (void *src, void *dst)

Static Private Member Functions

static void convertTriclopsImagesToIplImages (void *triclopsImage, CImage &dstL, CImage &dstR)
 Splits a TriclopsImage (grayscale) into two separate IplImages (from the left and right cameras) (for internal use only) triclopsImage [input].


Detailed Description

A class for grabing stereo images from a "Bumblebee" camera NOTE:

See also:
The most generic camera grabber in MRPT: mrpt::hwdrivers::CCameraSensor

Definition at line 61 of file CStereoGrabber_Bumblebee.h.


Constructor & Destructor Documentation

mrpt::vision::CStereoGrabber_Bumblebee::CStereoGrabber_Bumblebee ( int  cameraIndex = 0,
const TCaptureOptions_bumblebee options = TCaptureOptions_bumblebee() 
)

Constructor:.

mrpt::vision::CStereoGrabber_Bumblebee::CStereoGrabber_Bumblebee ( const CStereoGrabber_Bumblebee  )  [inline]

Definition at line 97 of file CStereoGrabber_Bumblebee.h.

References THROW_EXCEPTION.

virtual mrpt::vision::CStereoGrabber_Bumblebee::~CStereoGrabber_Bumblebee ( void   )  [virtual]

Destructor.


Member Function Documentation

static void mrpt::vision::CStereoGrabber_Bumblebee::convertTriclopsImagesToIplImages ( void *  triclopsImage,
CImage dstL,
CImage dstR 
) [static, private]

Splits a TriclopsImage (grayscale) into two separate IplImages (from the left and right cameras) (for internal use only) triclopsImage [input].

The Triclops image to split dstL [output]. The Left CImage. dstR [output]. The Right CImage.

void mrpt::vision::CStereoGrabber_Bumblebee::convertTriclopsImageTo8BitsIplImage ( void *  src,
void *  dst 
) [private]

bool mrpt::vision::CStereoGrabber_Bumblebee::getBothObservation ( vector_float vX,
vector_float vY,
vector_float vZ,
mrpt::slam::CObservationStereoImages out_observationStereo 
)

This is a fast merge method for "getImagesPairObservation" and "getObservation", which gets both kind of observations.

The ROI defines the Region of Interest for the Observation

bool mrpt::vision::CStereoGrabber_Bumblebee::getBothObservation ( TROI  ROI,
mrpt::slam::CObservationVisualLandmarks out_observation,
mrpt::slam::CObservationStereoImages out_observationStereo 
)

This is a merge method for "getImagesPairObservation" and "getObservation", which gets both kind of observations.

The ROI defines the Region of Interest for the Observation

bool mrpt::vision::CStereoGrabber_Bumblebee::getBothObservation ( mrpt::slam::CObservationVisualLandmarks out_observation,
mrpt::slam::CObservationStereoImages out_observationStereo 
)

This is a merge method for "getImagesPairObservation" and "getObservation", which gets both kind of observations.

bool mrpt::vision::CStereoGrabber_Bumblebee::getObservation ( TROI  ROI,
mrpt::slam::CObservationVisualLandmarks out_observation 
)

Grab stereo images, process them, and return the computed data.

Parameters:
ROI Region of interest where the data will be computed
out_observation The object to be filled with sensed data. Landmarks type is "vlColor"
NOTICE: That the member "CObservationVisualLandmarks::refCameraPose" must be set on the return of this method, since we don't know here the robot physical structure.

Returns:
false on any error, true if all go fine.

bool mrpt::vision::CStereoGrabber_Bumblebee::getObservation ( mrpt::slam::CObservationVisualLandmarks out_observation  ) 

Grab stereo images, process them, and return the computed data.

Parameters:
out_observation The object to be filled with sensed data. Landmarks type is "vlColor"
NOTICE: That the member "CObservationVisualLandmarks::refCameraPose" must be set on the return of this method, since we don't know here the robot physical structure.

Returns:
false on any error, true if all go fine.

bool mrpt::vision::CStereoGrabber_Bumblebee::getStereoObservation ( mrpt::slam::CObservationStereoImages out_observation  ) 

Grab stereo images, and return the pair of rectified images.

Parameters:
out_observation The object to be filled with sensed data.
NOTICE: (1) That the member "CObservationStereoImages::refCameraPose" must be set on the return of this method, since we don't know here the robot physical structure. (2) The images are already rectified.

Returns:
false on any error, true if all go fine.

CStereoGrabber_Bumblebee& mrpt::vision::CStereoGrabber_Bumblebee::operator= ( const CStereoGrabber_Bumblebee  )  [inline]

Definition at line 106 of file CStereoGrabber_Bumblebee.h.

References THROW_EXCEPTION.

void mrpt::vision::CStereoGrabber_Bumblebee::scaleImage ( void *  image,
unsigned char  ucMinOut,
unsigned char  ucMaxOut 
) [private]


Member Data Documentation

Camera baseline.

Definition at line 71 of file CStereoGrabber_Bumblebee.h.

If this has been correctly initiated.

Definition at line 68 of file CStereoGrabber_Bumblebee.h.

Definition at line 73 of file CStereoGrabber_Bumblebee.h.

Camera center coordinates.

Definition at line 73 of file CStereoGrabber_Bumblebee.h.

The Flycapture context (FlyCaptureContext).

Definition at line 65 of file CStereoGrabber_Bumblebee.h.

Camera focal length.

Definition at line 72 of file CStereoGrabber_Bumblebee.h.

A buffer to store an image.

Definition at line 66 of file CStereoGrabber_Bumblebee.h.

Bumblebee camera frame rate (Default: 15 fps).

Definition at line 90 of file CStereoGrabber_Bumblebee.h.

Definition at line 69 of file CStereoGrabber_Bumblebee.h.

The desired resolution.

Definition at line 69 of file CStereoGrabber_Bumblebee.h.

The Triclops context (TriclopsContext).

Definition at line 64 of file CStereoGrabber_Bumblebee.h.




Page generated by Doxygen 1.5.9 for MRPT 0.7.1 SVN: at Mon Aug 17 22:21:34 EDT 2009