Point Cloud Library (PCL)  1.8.1-dev
List of all members | Public Types | Public Member Functions | Protected Attributes
pcl::io::Image Class Referenceabstract

Image interface class providing an interface to fill a RGB or Grayscale image buffer. More...

#include <pcl/io/image.h>

+ Inheritance diagram for pcl::io::Image:

Public Types

enum  Encoding { BAYER_GRBG, YUV422, RGB }
 
typedef boost::shared_ptr< ImagePtr
 
typedef boost::shared_ptr
< const Image
ConstPtr
 
typedef
boost::chrono::high_resolution_clock 
Clock
 
typedef
boost::chrono::high_resolution_clock::time_point 
Timestamp
 

Public Member Functions

 Image (FrameWrapper::Ptr image_metadata)
 
 Image (FrameWrapper::Ptr image_metadata, Timestamp time)
 
virtual ~Image ()
 virtual Destructor that never throws an exception. More...
 
virtual bool isResizingSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const =0
 
virtual void fillRGB (unsigned width, unsigned height, unsigned char *rgb_buffer, unsigned rgb_line_step=0) const =0
 fills a user given buffer with the RGB values, with an optional nearest-neighbor down sampling and an optional subregion More...
 
virtual Encoding getEncoding () const =0
 returns the encoding of the native data. More...
 
virtual void fillRaw (unsigned char *rgb_buffer) const
 fills a user given buffer with the raw values. More...
 
virtual void fillGrayscale (unsigned width, unsigned height, unsigned char *gray_buffer, unsigned gray_line_step=0) const =0
 fills a user given buffer with the gray values, with an optional nearest-neighbor down sampling and an optional subregion More...
 
unsigned getWidth () const
 
unsigned getHeight () const
 
unsigned getFrameID () const
 
pcl::uint64_t getTimestamp () const
 
Timestamp getSystemTimestamp () const
 
const void * getData ()
 
int getDataSize () const
 
unsigned getStep () const
 

Protected Attributes

FrameWrapper::Ptr wrapper_
 
Timestamp timestamp_
 

Detailed Description

Image interface class providing an interface to fill a RGB or Grayscale image buffer.

Parameters
[in]image_metadata

Definition at line 56 of file image.h.

Member Typedef Documentation

typedef boost::chrono::high_resolution_clock pcl::io::Image::Clock

Definition at line 62 of file image.h.

typedef boost::shared_ptr<const Image> pcl::io::Image::ConstPtr

Definition at line 60 of file image.h.

typedef boost::shared_ptr<Image> pcl::io::Image::Ptr

Definition at line 59 of file image.h.

typedef boost::chrono::high_resolution_clock::time_point pcl::io::Image::Timestamp

Definition at line 63 of file image.h.

Member Enumeration Documentation

Enumerator
BAYER_GRBG 
YUV422 
RGB 

Definition at line 65 of file image.h.

Constructor & Destructor Documentation

pcl::io::Image::Image ( FrameWrapper::Ptr  image_metadata)
inline

Definition at line 72 of file image.h.

pcl::io::Image::Image ( FrameWrapper::Ptr  image_metadata,
Timestamp  time 
)
inline

Definition at line 77 of file image.h.

virtual pcl::io::Image::~Image ( )
inlinevirtual

virtual Destructor that never throws an exception.

Definition at line 85 of file image.h.

Member Function Documentation

virtual void pcl::io::Image::fillGrayscale ( unsigned  width,
unsigned  height,
unsigned char *  gray_buffer,
unsigned  gray_line_step = 0 
) const
pure virtual

fills a user given buffer with the gray values, with an optional nearest-neighbor down sampling and an optional subregion

Parameters
[in]widthdesired width of output image.
[in]heightdesired height of output image.
[in,out]gray_bufferthe output gray buffer.
[in]gray_line_stepoptional line step in bytes to allow the output in a rectangular subregion of the output buffer.

Implemented in pcl::io::ImageRGB24, and pcl::io::ImageYUV422.

virtual void pcl::io::Image::fillRaw ( unsigned char *  rgb_buffer) const
inlinevirtual

fills a user given buffer with the raw values.

Parameters
[in,out]rgb_buffer

Definition at line 121 of file image.h.

virtual void pcl::io::Image::fillRGB ( unsigned  width,
unsigned  height,
unsigned char *  rgb_buffer,
unsigned  rgb_line_step = 0 
) const
pure virtual

fills a user given buffer with the RGB values, with an optional nearest-neighbor down sampling and an optional subregion

Parameters
[in]widthdesired width of output image.
[in]heightdesired height of output image.
[in,out]rgb_bufferthe output RGB buffer.
[in]rgb_line_stepoptional line step in bytes to allow the output in a rectangular subregion of the output buffer.

Implemented in pcl::io::ImageRGB24, and pcl::io::ImageYUV422.

const void* pcl::io::Image::getData ( )
inline

Definition at line 188 of file image.h.

int pcl::io::Image::getDataSize ( ) const
inline

Definition at line 195 of file image.h.

virtual Encoding pcl::io::Image::getEncoding ( ) const
pure virtual

returns the encoding of the native data.

Returns
encoding

Implemented in pcl::io::ImageRGB24, and pcl::io::ImageYUV422.

unsigned pcl::io::Image::getFrameID ( ) const
inline
Returns
frame id of the image.
Note
frame ids are ascending, but not necessarily synchronized with other streams

Definition at line 160 of file image.h.

unsigned pcl::io::Image::getHeight ( ) const
inline
Returns
height of the image

Definition at line 150 of file image.h.

unsigned pcl::io::Image::getStep ( ) const
inline

Definition at line 202 of file image.h.

Timestamp pcl::io::Image::getSystemTimestamp ( ) const
inline
Returns
the timestamp of the image
Note
the time value is synchronized with the system time.

Definition at line 181 of file image.h.

pcl::uint64_t pcl::io::Image::getTimestamp ( ) const
inline
Returns
the timestamp of the image
Note
the time value is not synchronized with the system time

Definition at line 170 of file image.h.

unsigned pcl::io::Image::getWidth ( ) const
inline
Returns
width of the image

Definition at line 141 of file image.h.

virtual bool pcl::io::Image::isResizingSupported ( unsigned  input_width,
unsigned  input_height,
unsigned  output_width,
unsigned  output_height 
) const
pure virtual
Parameters
[in]input_widthwidth of input image
[in]input_heightheight of input image
[in]output_widthwidth of desired output image
[in]output_heightheight of desired output image
Returns
whether the resizing is supported or not.

Implemented in pcl::io::ImageRGB24, and pcl::io::ImageYUV422.

Member Data Documentation

Timestamp pcl::io::Image::timestamp_
protected

Definition at line 209 of file image.h.

FrameWrapper::Ptr pcl::io::Image::wrapper_
protected

Definition at line 208 of file image.h.


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