Point Cloud Library (PCL)  1.14.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:
+ Collaboration diagram for pcl::io::Image:

Public Types

enum  Encoding { BAYER_GRBG , YUV422 , RGB }
 
using Ptr = shared_ptr< Image >
 
using ConstPtr = shared_ptr< const Image >
 
using Clock = std::chrono::high_resolution_clock
 
using Timestamp = std::chrono::high_resolution_clock::time_point
 

Public Member Functions

 Image (FrameWrapper::Ptr image_metadata)
 
 Image (FrameWrapper::Ptr image_metadata, Timestamp time)
 
virtual ~Image ()=default
 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
 
std::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

◆ Clock

using pcl::io::Image::Clock = std::chrono::high_resolution_clock

Definition at line 62 of file image.h.

◆ ConstPtr

using pcl::io::Image::ConstPtr = shared_ptr<const Image>

Definition at line 60 of file image.h.

◆ Ptr

using pcl::io::Image::Ptr = shared_ptr<Image>

Definition at line 59 of file image.h.

◆ Timestamp

using pcl::io::Image::Timestamp = std::chrono::high_resolution_clock::time_point

Definition at line 63 of file image.h.

Member Enumeration Documentation

◆ Encoding

Enumerator
BAYER_GRBG 
YUV422 
RGB 

Definition at line 65 of file image.h.

Constructor & Destructor Documentation

◆ Image() [1/2]

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

Definition at line 72 of file image.h.

◆ Image() [2/2]

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

Definition at line 77 of file image.h.

◆ ~Image()

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

virtual Destructor that never throws an exception.

Member Function Documentation

◆ fillGrayscale()

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::ImageYUV422, and pcl::io::ImageRGB24.

◆ fillRaw()

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 120 of file image.h.

◆ fillRGB()

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::ImageYUV422, and pcl::io::ImageRGB24.

◆ getData()

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

Definition at line 187 of file image.h.

◆ getDataSize()

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

Definition at line 194 of file image.h.

◆ getEncoding()

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

returns the encoding of the native data.

Returns
encoding

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

◆ getFrameID()

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 159 of file image.h.

◆ getHeight()

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

Definition at line 149 of file image.h.

◆ getStep()

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

Definition at line 201 of file image.h.

◆ getSystemTimestamp()

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 180 of file image.h.

◆ getTimestamp()

std::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 169 of file image.h.

◆ getWidth()

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

Definition at line 140 of file image.h.

◆ isResizingSupported()

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::ImageYUV422, and pcl::io::ImageRGB24.

Member Data Documentation

◆ timestamp_

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

Definition at line 208 of file image.h.

◆ wrapper_

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

Definition at line 207 of file image.h.


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