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.
Definition at line 117 of file CImageGrabber_dc1394.h.
#include <mrpt/hwdrivers/CImageGrabber_dc1394.h>
Classes | |
struct | TCameraInfo |
Used in enumerateCameras. More... | |
Public Types | |
typedef std::list< TCameraInfo > | TCameraInfoList |
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 |
typedef std::list<TCameraInfo> mrpt::hwdrivers::CImageGrabber_dc1394::TCameraInfoList |
Definition at line 207 of file CImageGrabber_dc1394.h.
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.
cameraGUID | Set 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. |
options | Capture options, defined in mrpt::hwdrivers::TCaptureOptions_dc1394. |
verbose | Displays a lot of information about the camera to be open and its valid video modes. |
virtual mrpt::hwdrivers::CImageGrabber_dc1394::~CImageGrabber_dc1394 | ( | ) | [virtual] |
Destructor.
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.
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.
std::runtime_error | On 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).
out_observation | The object to be filled with sensed data. |
bool mrpt::hwdrivers::CImageGrabber_dc1394::getObservation | ( | mrpt::slam::CObservationImage & | out_observation | ) |
Grab an image from the opened camera (for monocular cameras).
out_observation | The object to be filled with sensed data. |
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.
bool mrpt::hwdrivers::CImageGrabber_dc1394::m_bInitialized [protected] |
Set to false if we could not initialize the camera.
Definition at line 122 of file CImageGrabber_dc1394.h.
void* mrpt::hwdrivers::CImageGrabber_dc1394::m_dc1394_lib_context [protected] |
Internal use:
Definition at line 125 of file CImageGrabber_dc1394.h.
void* mrpt::hwdrivers::CImageGrabber_dc1394::m_dc1394camera [protected] |
Definition at line 126 of file CImageGrabber_dc1394.h.
int mrpt::hwdrivers::CImageGrabber_dc1394::m_desired_mode [protected] |
Definition at line 127 of file CImageGrabber_dc1394.h.
Definition at line 130 of file CImageGrabber_dc1394.h.
Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:40:17 UTC 2011 |