TLIB documentation
 

tlCameraStereo Class Reference

Inheritance diagram for tlCameraStereo:

Inheritance graph
[legend]
Collaboration diagram for tlCameraStereo:

Collaboration graph
[legend]

List of all members.


Detailed Description

Stereo camera base class.

The tlCameraStereo base class offers an encapsulation for stereo image sources and stereo processing engines. Stereo cameras are defined here as "special" images that can acquire not only images but also disparity maps, registered to the source image.

Public Member Functions

 tlCameraStereo ()
virtual ~tlCameraStereo ()
virtual int grab (tlImage *image)=0
virtual int grab (tlImage *image, tlRect *rect)=0
virtual int grabQueued (tlImage *image)=0
virtual int grabQueued (tlImage *image, tlRect *rect)=0
virtual int grab (tlImage *image, tlImage *disparity)=0
virtual int grab (tlImage *image, tlImage *disparity, tlRect *rect)=0
virtual int grabQueued (tlImage *image, tlImage *disparity)=0
virtual int grabQueued (tlImage *image, tlImage *disparity, tlRect *rect)=0
virtual int getDisparity (tlImage *disparity)=0
virtual int getDisparity (tlImage *disparity, tlRect *rect)=0
virtual int getDisparity (tlImage *leftImage, tlImage *rightImage, tlImage *disparity)=0
virtual int getDisparity (tlImage *leftImage, tlImage *rightImage, tlImage *disparity, tlRect *rect)=0
virtual int toWorld (tlLocation *location)=0
virtual int toWorld (tlLocation *location, tlLocation *dest)=0
virtual int toImage (tlLocation *location)=0
virtual int toImage (tlLocation *location, tlLocation *dest)=0
int setPosition (int Tx, int Ty, int Tz)
int setOrientation (int Rx, int Ry, int Rz)
bool isCalibrated ()
int getTx ()
int getTy ()
int getTz ()
int getRx ()
int getRy ()
int getRz ()
int getWidth ()
int getHeight ()
int getID ()
tl_format getFormat ()


Constructor & Destructor Documentation

tlCameraStereo::tlCameraStereo (  ) 

Default constructor.

Note:
See error management for details.

tlCameraStereo::~tlCameraStereo (  )  [virtual]

Default destructor.

Note:
See error management for details.


Member Function Documentation

virtual int tlCameraStereo::grab ( tlImage image  )  [pure virtual]

This call acquires a full image from an image source. The image will have the size and format the source is currently configured for.

Parameters:
image [out] a valid image pointer that will receive the image.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implements tlCamera.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

virtual int tlCameraStereo::grab ( tlImage image,
tlRect rect 
) [pure virtual]

This call acquires a portion of an image from an image source. The image will have the size and format the source is currently configured for, but only the portion defined by the rect argument will contain valid pixel values.

Parameters:
image [out] a valid image pointer that will receive the image.
rect a pointer to the portion of the image to acquire.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implements tlCamera.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

virtual int tlCameraStereo::grabQueued ( tlImage image  )  [pure virtual]

This call acquires a full image from an image source. The image will have the size and format the source is currently configured for.

Parameters:
image [out] a valid image pointer that will receive the image.
Returns:
0 on success, -1 otherwise.
See error management for details.
Note:
This routine is faster than grab() because image acquisition happens in the background. However, since the grab command is sent to the grabber during the previous call to the grabQueued() routine, the image returned can be out-of-date.

Implements tlCamera.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

virtual int tlCameraStereo::grabQueued ( tlImage image,
tlRect rect 
) [pure virtual]

This call acquires a portion of an image from an image source. The image will have the size and format the source is currently configured for, but only the portion defined by the rect argument will contain valid pixel values.

Parameters:
image [out] a valid image pointer that will receive the image.
rect a pointer to the portion of the image to acquire.
Returns:
0 on success, -1 otherwise.
See error management for details.
Note:
This routine is faster than grab() because image acquisition happens in the background. However, since the grab command is sent to the grabber during the previous call to the grabQueued() routine, the image returned can be out-of-date.

Implements tlCamera.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

tlCameraStereo::grab ( tlImage image,
tlImage disparity 
) [pure virtual]

This method acquires a full image and the related disparity map. The image will have the size and format determined by the camera settings.

Parameters:
image [out] a valid image pointer that will receive the image.
disparity [out] a valid image pointer that will receive the disparity map.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

tlCameraStereo::grab ( tlImage image,
tlImage disparity,
tlRect rect 
) [pure virtual]

This method acquires a portion of an image and the related disparity map. The image will have the size and format determined by the camera settings, but only the portion defined by the rect argument will contain valid pixel values.

Parameters:
image [out] a valid image pointer that will receive the image.
disparity [out] a valid image pointer that will receive the disparity map.
rect a valid image pointer to the portion of the image to acquire.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

tlCameraStereo::grabQueued ( tlImage image,
tlImage disparity 
) [pure virtual]

This call acquires a full image and the related disparity map. The image will have the size and format determined by the camera settings.

Parameters:
image [out] a valid image pointer that will receive the image.
disparity [out] a valid image pointer that will receive the disparity map.
Returns:
0 on success, -1 otherwise.
See error management for details.
Note:
This method is faster than grab() because image acquisition happens in the background. However, since the grab command is sent to the grabber during the previous call to the grabQueued() routine, the image returned can be out-of-date.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

tlCameraStereo::grabQueued ( tlImage image,
tlImage disparity,
tlRect rect 
) [pure virtual]

This method acquires a portion of an image and the related disparity map. The image will have the size and format determined by the camera settings, but only the portion defined by the rect argument will contain valid pixel values.

Parameters:
image [out] a valid image pointer that will receive the image.
disparity [out] a valid image pointer that will receive the disparity map.
rect a valid image pointer to the portion of the image to acquire.
Returns:
0 on success, -1 otherwise.
See error management for details.
Note:
This method is faster than grab() because image acquisition happens in the background. However, since the grab command is sent to the grabber during the previous call to the grabQueued() routine, the image returned can be out-of-date.

Implemented in tlCameraSVS, tlCameraSVSBase, and tlCameraSVSHead.

tlCameraStereo::getDisparity ( tlImage disparity  )  [pure virtual]

This method computes a disparity map on the latest image set acquired by grab. The disparity map will have the size and format determined by the camera settings.

Parameters:
disparity [out] a valid image pointer that will receive the disparity map.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::getDisparity ( tlImage disparity,
tlRect rect 
) [pure virtual]

This method computes a partial disparity map on the latest image set acquired by grab. The disparity map will have the size and format determined by the camera settings, but only the portion defined by the rect argument will contain valid pixel values.

Parameters:
disparity [out] a valid image pointer that will receive the disparity map.
rect a valid image pointer to the portion of the disparity map to process.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::getDisparity ( tlImage leftImage,
tlImage rightImage,
tlImage disparity 
) [pure virtual]

This method computes the disparity map from two images. The images are supposed to have been acquired by the same tlCameraStereo object. The disparity map will have the size and format determined by the camera settings.

Parameters:
leftImage a pointer to an image taken from the left imager.
rightImage a pointer to an image taken from the right imager.
disparity [out] a valid image pointer that will receive the disparity map.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::getDisparity ( tlImage leftImage,
tlImage rightImage,
tlImage disparity,
tlRect rect 
) [pure virtual]

This method computes the disparity map from a portion of two images. The images are supposed to have been acquired by the same tlCameraStereo object. The disparity map will have the size and format determined by the camera settings, but only the portion defined by the rect argument will contain valid pixel values.

Parameters:
leftImage a pointer to an image taken from the left imager.
rightImage a pointer to an image taken from the right imager.
disparity [out] a valid image pointer that will receive the disparity map.
rect a valid image pointer to the portion of the disparity map to process.
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::toWorld ( tlLocation location  )  [pure virtual]

This method computes the 3D coordonates in the world frame of a given location, given the stereo camera calibration settings. The input location is defined by its x,y position in the image frame and a disparity value. The resulting world coordonates are written in the corresponding location fields.

Parameters:
location [int/out] location to convert
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::toWorld ( tlLocation location,
tlLocation dest 
) [pure virtual]

This method computes the 3D coordonates in the world frame of a given location, given the stereo camera calibration settings. The input location is defined by its x,y position in the image frame and a disparity value. The resulting world coordonates are written in the dest location; image coordonates in dest are updated accordingly.

Parameters:
location location to convert
dest [out] resulting location (in both image and world frame)
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::toImage ( tlLocation location  )  [pure virtual]

This method computes the coordonates in the image frame and disparity of a given location, given the stereo camera calibration settings. The input location is defined by its wx,wy,wz position in the world frame. The resulting image coordonates are written in the corresponding location fields.

Parameters:
location [int/out] location to convert
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

tlCameraStereo::toImage ( tlLocation location,
tlLocation dest 
) [pure virtual]

This method computes the coordonates in the image frame and disparity of a given location, given the stereo camera calibration settings. The input location is defined by its wx,wy,wz position in the world frame. The resulting image coordonates are written in the dest location; world coordonates in dest are updated accordingly.

Parameters:
location location to convert
dest [out] resulting location (in both image and world frame)
Returns:
0 on success, -1 otherwise.
See error management for details.

Implemented in tlCameraSVSBase.

int tlCamera::setPosition ( int  Tx,
int  Ty,
int  Tz 
) [inherited]

Set the camera position in the workspace.

Parameters:
Tx camera position on the X axis.
Ty camera position on the Y axis.
Tz camera position on the Z axis.
Returns:
0 on success, -1 otherwise.
See error management for details.
Note:
This assumes a right-handed, orthogonal coordonate system.

int tlCamera::setOrientation ( int  Rx,
int  Ry,
int  Rz 
) [inherited]

Set the camera orientation in the workspace.

Parameters:
Rx camera orientation around the X axis.
Ry camera orientation around the Y axis.
Rz camera orientation around the Z axis.
Returns:
0 on success, -1 otherwise.
See error management for details.
Note:
This assumes a right-handed, orthogonal coordonate system.

tlCamera::isCalibrated (  )  [inline, inherited]

Check whether the camera returns calibrated (undistorted) images or not.

Returns:
True if camera is calibrated,
False otherwise.

tlCamera::getTx (  )  [inline, inherited]

Get the position of the camera on the X axis of the workspace.

Returns:
The camera position in X.

tlCamera::getTy (  )  [inline, inherited]

Get the position of the camera on the Y axis of the workspace.

Returns:
The camera position in Y.

tlCamera::getTz (  )  [inline, inherited]

Get the position of the camera on the Z axis of the workspace.

Returns:
The camera position in Z.

tlCamera::getRx (  )  [inline, inherited]

Get the orientation of the camera around the X axis of the workspace.

Returns:
The camera orientation around X.

tlCamera::getRy (  )  [inline, inherited]

Get the orientation of the camera around the X axis of the workspace.

Returns:
The camera orientation around Y.

tlCamera::getRz (  )  [inline, inherited]

Get the orientation of the camera around the X axis of the workspace.

Returns:
The camera orientation around Z.

tlSource::getWidth (  )  [inline, inherited]

Returns the width of the image source. Any image acquired through this tlSource object will have the current width.

Returns:
The width in pixels of the image source.
See error management for details.

tlSource::getHeight (  )  [inline, inherited]

Returns the height of the image source. Any image acquired through this tlSource object will have the current height.

Returns:
The height in pixels of the image source.
See error management for details.

tlSource::getID (  )  [inline, inherited]

Return a unique identifier for this source. Identifiers are allocated dynamically and are only valid during application run-time.

Returns:
A unique numerical identifier on success, -1 otherwise.
See error management for details.

tlSource::getFormat (  )  [inline, inherited]

Returns the format of the image source. Any image acquired through this tlSource object will have the current format.

Returns:
The format of the image source.


The documentation for this class was generated from the following files:

TLIB documentation - generated on 7 May 2008
Please address any questions to seb@tuyphon.com
(C) 2001-2008 - S. Grange
(C) 2001-2007 - VRAI Group, EPFL
All Rights Reserved.