Main MRPT website > C++ reference
MRPT logo
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

mrpt::hwdrivers::CImageGrabber_dc1394 Class Reference


Detailed Description

A class for grabing images from a IEEE1394 (Firewire) camera using the libdc1394-2 library.

See the constructor for the options when opening the camera. Notice that you may have to carefully set the resolution, framerate and color_mode. See the verbose parameter of the constructor, which can display a list of supported modes in your camera.

This class is able to manage any Firewire cameras, including Stereo or multi-cameras in general, so this can be used to open the Bumblebee camera (not tested yet).

A static method (CImageGrabber_dc1394::enumerateCameras) is provided to enumerate all existing cameras and their properties. It can be used to find the GUID of the desired camera, then open it at the constructor.

Note:
This class requires MRPT compiled with "libdc1394-2" (Only works under Linux for now) and "opencv".
In Linux you may need to execute "chmod 666 /dev/video1394/ * " and "chmod 666 /dev/raw1394" for allowing any user R/W access to firewire cameras.
See also:
The most generic camera grabber in MRPT: mrpt::hwdrivers::CCameraSensor

Definition at line 117 of file CImageGrabber_dc1394.h.

#include <mrpt/hwdrivers/CImageGrabber_dc1394.h>

List of all members.

Classes

struct  TCameraInfo
 Used in enumerateCameras. More...

Public Types

typedef std::list< TCameraInfoTCameraInfoList

Public Member Functions

 CImageGrabber_dc1394 (uint64_t cameraGUID=0, uint16_t cameraUnit=0, const TCaptureOptions_dc1394 &options=TCaptureOptions_dc1394(), bool verbose=false)
 Constructor: open an ieee1394 camera.
virtual ~CImageGrabber_dc1394 ()
 Destructor.
bool isOpen () const
 Check whether the camera has been open successfully.
bool changeCaptureOptions (const TCaptureOptions_dc1394 &options)
 Changes the capture properties (brightness, gain, shutter, etc) The frame size, framerate, and color_coding fields in options are ignored since they can be only set at construction time.
bool getObservation (mrpt::slam::CObservationImage &out_observation)
 Grab an image from the opened camera (for monocular cameras).
bool getObservation (mrpt::slam::CObservationStereoImages &out_observation)
 Grab an image from the opened camera (for stereo cameras).

Static Public Member Functions

static void enumerateCameras (TCameraInfoList &out_list)
 Generates a list with the information on all the existing (Firewire) cameras in the system.

Protected Attributes

bool m_bInitialized
 Set to false if we could not initialize the camera.
void * m_dc1394_lib_context
 Internal use:
void * m_dc1394camera
int m_desired_mode
TCaptureOptions_dc1394 m_options

Member Typedef Documentation

Definition at line 207 of file CImageGrabber_dc1394.h.


Constructor & Destructor Documentation

mrpt::hwdrivers::CImageGrabber_dc1394::CImageGrabber_dc1394 ( uint64_t  cameraGUID = 0,
uint16_t  cameraUnit = 0,
const TCaptureOptions_dc1394 options = TCaptureOptions_dc1394(),
bool  verbose = false 
)

Constructor: open an ieee1394 camera.

Parameters:
cameraGUIDSet the camera GUID to open, or 0 to open the first found camera.
cameraUnit(Ignored if cameraGUID=0). The number of camera to open within the device with the given GUID: In a stereo camera this may be 0 or 1. Normally this is 0.
optionsCapture options, defined in mrpt::hwdrivers::TCaptureOptions_dc1394.
verboseDisplays a lot of information about the camera to be open and its valid video modes.
virtual mrpt::hwdrivers::CImageGrabber_dc1394::~CImageGrabber_dc1394 (  ) [virtual]

Destructor.


Member Function Documentation

bool mrpt::hwdrivers::CImageGrabber_dc1394::changeCaptureOptions ( const TCaptureOptions_dc1394 options )

Changes the capture properties (brightness, gain, shutter, etc) The frame size, framerate, and color_coding fields in options are ignored since they can be only set at construction time.

Returns:
false on error
static void mrpt::hwdrivers::CImageGrabber_dc1394::enumerateCameras ( TCameraInfoList out_list ) [static]

Generates a list with the information on all the existing (Firewire) cameras in the system.

Exceptions:
std::runtime_errorOn any error calling libdc1394.
bool mrpt::hwdrivers::CImageGrabber_dc1394::getObservation ( mrpt::slam::CObservationStereoImages out_observation )

Grab an image from the opened camera (for stereo cameras).

Parameters:
out_observationThe object to be filled with sensed data.
Returns:
false on any error, true if all go fine.
bool mrpt::hwdrivers::CImageGrabber_dc1394::getObservation ( mrpt::slam::CObservationImage out_observation )

Grab an image from the opened camera (for monocular cameras).

Parameters:
out_observationThe object to be filled with sensed data.
Returns:
false on any error, true if all go fine.
bool mrpt::hwdrivers::CImageGrabber_dc1394::isOpen (  ) const [inline]

Check whether the camera has been open successfully.

Definition at line 151 of file CImageGrabber_dc1394.h.


Member Data Documentation

Set to false if we could not initialize the camera.

Definition at line 122 of file CImageGrabber_dc1394.h.

Internal use:

Definition at line 125 of file CImageGrabber_dc1394.h.

Definition at line 126 of file CImageGrabber_dc1394.h.

Definition at line 127 of file CImageGrabber_dc1394.h.

Definition at line 130 of file CImageGrabber_dc1394.h.




Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011