point_cloud_library / 1.12.1 / classpcl_1_1io_1_1_image.html /

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

#include <pcl/io/image.h>

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 ()
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 ( )
inlinevirtual

virtual Destructor that never throws an exception.

Definition at line 85 of file image.h.

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] width desired width of output image.
[in] height desired height of output image.
[in,out] gray_buffer the output gray buffer.
[in] gray_line_step optional 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.

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 121 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] width desired width of output image.
[in] height desired height of output image.
[in,out] rgb_buffer the output RGB buffer.
[in] rgb_line_step optional 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.

getData()

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

Definition at line 188 of file image.h.

getDataSize()

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

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

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

getHeight()

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

Definition at line 150 of file image.h.

getStep()

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

Definition at line 202 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 181 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 170 of file image.h.

getWidth()

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

Definition at line 141 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_width width of input image
[in] input_height height of input image
[in] output_width width of desired output image
[in] output_height height 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_

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

Definition at line 209 of file image.h.

wrapper_

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:

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1io_1_1_image.html