openni_wrapper::DepthImage Class Reference

This class provides methods to fill a depth or disparity image. More...

`#include <pcl/io/openni_camera/openni_depth_image.h>`

## Public Types

using | Ptr = pcl::shared_ptr< DepthImage >
using | ConstPtr = pcl::shared_ptr< const DepthImage >

## Public Member Functions

| DepthImage (pcl::shared_ptr< xn::DepthMetaData > depth_meta_data, float baseline, float focal_length, XnUInt64 shadow_value, XnUInt64 no_sample_value) throw ()
| Constructor. More...
virtual | ~DepthImage () throw ()
| Destructor. More...
const xn::DepthMetaData & | getDepthMetaData () const throw ()
| method to access the internal data structure from OpenNI. More...
void | fillDisparityImage (unsigned width, unsigned height, float *disparity_buffer, unsigned line_step=0) const
| fills a user given block of memory with the disparity values with additional nearest-neighbor down-scaling. More...
void | fillDepthImage (unsigned width, unsigned height, float *depth_buffer, unsigned line_step=0) const
| fills a user given block of memory with the disparity values with additional nearest-neighbor down-scaling. More...
void | fillDepthImageRaw (unsigned width, unsigned height, unsigned short *depth_buffer, unsigned line_step=0) const
| fills a user given block of memory with the raw values with additional nearest-neighbor down-scaling. More...
float | getBaseline () const throw ()
| method to access the baseline of the "stereo" frame that was used to retrieve the depth image. More...
float | getFocalLength () const throw ()
| method to access the focal length of the "stereo" frame that was used to retrieve the depth image. More...
XnUInt64 | getShadowValue () const throw ()
| method to access the shadow value, that indicates pixels lying in shadow in the depth image. More...
XnUInt64 | getNoSampleValue () const throw ()
| method to access the no-sample value, that indicates pixels where no disparity could be determined for the depth image. More...
unsigned | getWidth () const throw ()
unsigned | getHeight () const throw ()
unsigned | getFrameID () const throw ()
unsigned long | getTimeStamp () const throw ()

## Protected Attributes

pcl::shared_ptr< xn::DepthMetaData > | depth_md_
float | baseline_
float | focal_length_
XnUInt64 | shadow_value_
XnUInt64 | no_sample_value_

## Detailed Description

This class provides methods to fill a depth or disparity image.

Author
  Suat Gedikli

Definition at line 57 of file openni_depth_image.h.

## Member Typedef Documentation

## ConstPtr

using openni_wrapper::DepthImage::ConstPtr = pcl::shared_ptr<const DepthImage>

Definition at line 61 of file openni_depth_image.h.

## Ptr

using openni_wrapper::DepthImage::Ptr = pcl::shared_ptr<DepthImage>

Definition at line 60 of file openni_depth_image.h.

## Constructor & Destructor Documentation

## DepthImage()

openni_wrapper::DepthImage::DepthImage | ( | pcl::shared_ptr< xn::DepthMetaData > | depth_meta_data,
|  | float | baseline,
|  | float | focal_length,
|  | XnUInt64 | shadow_value,
|  | XnUInt64 | no_sample_value
| ) |  |
throw | ( |
| ) |  |

inline

Constructor.

Parameters

  [in] | depth_meta_data | the actual data from the OpenNI library
  [in] | baseline | the baseline of the "stereo" camera, i.e. the distance between the projector and the IR camera for Primesense like cameras. e.g. 7.5cm for PSDK5 and PSDK6 reference design.
  [in] | focal_length | focal length of the "stereo" frame.
  [in] | shadow_value | defines which values in the depth data are indicating shadow (resulting from the parallax between projector and IR camera)
  [in] | no_sample_value | defines which values in the depth data are indicating that no depth (disparity) could be determined .

Attention
  The focal length may change, depending whether the depth stream is registered/mapped to the RGB stream or not.

Definition at line 166 of file openni_depth_image.h.

## ~DepthImage()

openni_wrapper::DepthImage::~DepthImage | ( |  | ) |
throw | ( |
| ) |  |

inline virtual

Destructor.

Never throws an exception.

Definition at line 173 of file openni_depth_image.h.

## Member Function Documentation

## fillDepthImage()

void openni_wrapper::DepthImage::fillDepthImage | ( | unsigned | width,
|  | unsigned | height,
|  | float * | depth_buffer,
|  | unsigned | line_step = `0`
| ) |  | const

fills a user given block of memory with the disparity values with additional nearest-neighbor down-scaling.

Parameters

  [in] | width | width the width of the desired depth image.
  [in] | height | height the height of the desired depth image.
  [in,out] | depth_buffer | the float pointer to the actual memory buffer to be filled with the depth values.
  [in] | line_step | if only a rectangular sub region of the buffer needs to be filled, then line_step is the width in bytes (not floats) of the original width of the depth buffer.

## fillDepthImageRaw()

void openni_wrapper::DepthImage::fillDepthImageRaw | ( | unsigned | width,
|  | unsigned | height,
|  | unsigned short * | depth_buffer,
|  | unsigned | line_step = `0`
| ) |  | const

fills a user given block of memory with the raw values with additional nearest-neighbor down-scaling.

Parameters

  [in] | width | width the width of the desired raw image.
  [in] | height | height the height of the desired raw image.
  [in,out] | depth_buffer | the unsigned short pointer to the actual memory buffer to be filled with the raw values.
  [in] | line_step | if only a rectangular sub region of the buffer needs to be filled, then line_step is the width in bytes (not floats) of the original width of the depth buffer.

## fillDisparityImage()

void openni_wrapper::DepthImage::fillDisparityImage | ( | unsigned | width,
|  | unsigned | height,
|  | float * | disparity_buffer,
|  | unsigned | line_step = `0`
| ) |  | const

fills a user given block of memory with the disparity values with additional nearest-neighbor down-scaling.

Parameters

  [in] | width | the width of the desired disparity image.
  [in] | height | the height of the desired disparity image.
  [in,out] | disparity_buffer | the float pointer to the actual memory buffer to be filled with the disparity values.
  [in] | line_step | if only a rectangular sub region of the buffer needs to be filled, then line_step is the width in bytes (not floats) of the original width of the depth buffer.

## getBaseline()

float openni_wrapper::DepthImage::getBaseline | ( |  | ) | const
throw | ( |
| ) |  |

inline

method to access the baseline of the "stereo" frame that was used to retrieve the depth image.

Returns
  baseline in meters

Definition at line 182 of file openni_depth_image.h.

## getDepthMetaData()

const xn::DepthMetaData & openni_wrapper::DepthImage::getDepthMetaData | ( |  | ) | const
throw | ( |
| ) |  |

inline

method to access the internal data structure from OpenNI.

If the data is accessed just read-only, then this method is faster than a fillXXX method

Returns
  the actual depth data of type xn::DepthMetaData.

Definition at line 176 of file openni_depth_image.h.

## getFocalLength()

float openni_wrapper::DepthImage::getFocalLength | ( |  | ) | const
throw | ( |
| ) |  |

inline

method to access the focal length of the "stereo" frame that was used to retrieve the depth image.

Returns
  focal length in pixels

Definition at line 188 of file openni_depth_image.h.

## getFrameID()

unsigned openni_wrapper::DepthImage::getFrameID | ( |  | ) | const
throw | ( |
| ) |  |

inline

Returns
  an ascending id for the depth frame

Attention
  not necessarily synchronized with other streams

Definition at line 218 of file openni_depth_image.h.

## getHeight()

unsigned openni_wrapper::DepthImage::getHeight | ( |  | ) | const
throw | ( |
| ) |  |

inline

Returns
  the height of the depth image

Definition at line 212 of file openni_depth_image.h.

## getNoSampleValue()

XnUInt64 openni_wrapper::DepthImage::getNoSampleValue | ( |  | ) | const
throw | ( |
| ) |  |

inline

method to access the no-sample value, that indicates pixels where no disparity could be determined for the depth image.

Returns
  no-sample value

Definition at line 200 of file openni_depth_image.h.

## getShadowValue()

XnUInt64 openni_wrapper::DepthImage::getShadowValue | ( |  | ) | const
throw | ( |
| ) |  |

inline

method to access the shadow value, that indicates pixels lying in shadow in the depth image.

Returns
  shadow value

Definition at line 194 of file openni_depth_image.h.

## getTimeStamp()

unsigned long openni_wrapper::DepthImage::getTimeStamp | ( |  | ) | const
throw | ( |
| ) |  |

inline

Returns
  a ascending timestamp for the depth frame

Attention
  its not the system time, thus can not be used directly to synchronize different sensors. But definitely synchronized with other streams

Definition at line 224 of file openni_depth_image.h.

## getWidth()

unsigned openni_wrapper::DepthImage::getWidth | ( |  | ) | const
throw | ( |
| ) |  |

inline

Returns
  the width of the depth image

Definition at line 206 of file openni_depth_image.h.

## Member Data Documentation

## baseline_

float openni_wrapper::DepthImage::baseline_

protected

Definition at line 160 of file openni_depth_image.h.

## depth_md_

pcl::shared_ptr<xn::DepthMetaData> openni_wrapper::DepthImage::depth_md_

protected

Definition at line 159 of file openni_depth_image.h.

## focal_length_

float openni_wrapper::DepthImage::focal_length_

protected

Definition at line 161 of file openni_depth_image.h.

## no_sample_value_

XnUInt64 openni_wrapper::DepthImage::no_sample_value_

protected

Definition at line 163 of file openni_depth_image.h.

## shadow_value_

XnUInt64 openni_wrapper::DepthImage::shadow_value_

protected

Definition at line 162 of file openni_depth_image.h.

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

- pcl/io/openni_camera/openni_depth_image.h