Loading...
Searching...
No Matches
pcl::io::Image Class Referenceabstract
Module io

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 }
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.
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
virtual Encoding | getEncoding () const =0
| returns the encoding of the native data.
virtual void | fillRaw (unsigned char *rgb_buffer) const
| fills a user given buffer with the raw values.
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
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

enum pcl::io::Image::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.

References timestamp_, and wrapper_.

## Image() [2/2]

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

inline

Definition at line 77 of file image.h.

References timestamp_, and wrapper_.

## ~Image()

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

inline virtual default

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] | 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

inline virtual

fills a user given buffer with the raw values.

Parameters

  [in,out] | rgb_buffer |

Definition at line 120 of file image.h.

References wrapper_.

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

References wrapper_.

## getDataSize()

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

inline

Definition at line 194 of file image.h.

References wrapper_.

Referenced by getStep().

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

References wrapper_.

## getHeight()

unsigned pcl::io::Image::getHeight | ( |  | ) | const

inline

Returns
  height of the image

Definition at line 149 of file image.h.

References wrapper_.

Referenced by getStep().

## getStep()

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

inline

Definition at line 201 of file image.h.

References getDataSize(), and getHeight().

## 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.

References timestamp_.

## 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.

References wrapper_.

## getWidth()

unsigned pcl::io::Image::getWidth | ( |  | ) | const

inline

Returns
  width of the image

Definition at line 140 of file image.h.

References wrapper_.

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

Referenced by getSystemTimestamp(), Image(), and Image().

## wrapper_

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

protected

Definition at line 207 of file image.h.

Referenced by fillRaw(), getData(), getDataSize(), getFrameID(), getHeight(), getTimestamp(), getWidth(), Image(), and Image().

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

- pcl/io/image.h