YARP
Yet Another Robot Platform
yarp::sig::ImageOf< T > Class Template Reference

Typed image class. More...

#include <yarp/sig/Image.h>

+ Inheritance diagram for yarp::sig::ImageOf< T >:

Detailed Description

template<class T>
class yarp::sig::ImageOf< T >

Typed image class.

This is a wrapper over YARPGenericImage providing type security for pixel access. "T" can be any of sig::PixelMono, sig::PixelMono16, sig::PixelRgb, sig::PixelHsv, sig::PixelBgr, sig::PixelMonoSigned, sig::PixelRgbSigned, sig::PixelFloat, sig::PixelRgbFloat, sig::PixelHsvFloat, sig::PixelInt. If ImageOf::copy is called for two such images, a reasonable casting operation will occur if the pixel types are different.

Examples:
opencv/main.cpp.

Definition at line 28 of file Image.h.

Public Member Functions

 ImageOf ()
 
virtual size_t getPixelSize () const override
 Gets pixel size in memory in bytes. More...
 
virtual int getPixelCode () const override
 Gets pixel type identifier. More...
 
T & pixel (size_t x, size_t y)
 
T & pixel (size_t x, size_t y) const
 
const T & operator() (size_t x, size_t y) const
 
T & operator() (size_t x, size_t y)
 
T & safePixel (size_t x, size_t y)
 
const T & safePixel (size_t x, size_t y) const
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
template<>
int getPixelCode () const
 Gets pixel type identifier. More...
 
- Public Member Functions inherited from yarp::sig::Image
 Image ()
 Default constructor. More...
 
 Image (const Image &alt)
 Copy constructor. More...
 
virtual ~Image ()
 Destructor. More...
 
const Imageoperator= (const Image &alt)
 Assignment operator. More...
 
bool copy (const Image &alt)
 Copy operator. More...
 
bool copy (const Image &alt, size_t w, size_t h)
 Scaled copy. More...
 
size_t width () const
 Gets width of image in pixels. More...
 
size_t height () const
 Gets height of image in pixels. More...
 
size_t getRowSize () const
 Size of the underlying image buffer rows. More...
 
size_t getQuantum () const
 The size of a row is constrained to be a multiple of the "quantum". More...
 
size_t getPadding () const
 Returns the number of padding bytes. More...
 
unsigned char * getRow (size_t r)
 Get the address of a the first byte of a row in memory. More...
 
const unsigned char * getRow (size_t r) const
 Get the address of a the first byte of a row in memory, const versions. More...
 
unsigned char * getPixelAddress (size_t x, size_t y) const
 Get address of a pixel in memory. More...
 
bool isPixel (size_t x, size_t y) const
 Check whether a coordinate lies within the image. More...
 
void zero ()
 Set all pixels to 0. More...
 
void resize (size_t imgWidth, size_t imgHeight)
 Reallocate an image to be of a desired size, throwing away its current contents. More...
 
void resize (const Image &alt)
 Reallocate the size of the image to match another, throwing away the actual content of the image. More...
 
void setExternal (const void *data, size_t imgWidth, size_t imgHeight)
 Use this to wrap an external image. More...
 
unsigned char * getRawImage () const
 Access to the internal image buffer. More...
 
size_t getRawImageSize () const
 Access to the internal buffer size information (this is how much memory has been allocated for the image). More...
 
void * getIplImage ()
 Returns IPL/OpenCV view of image, if possible. More...
 
const void * getIplImage () const
 Returns IPL/OpenCV view of image, if possible. More...
 
void wrapIplImage (void *iplImage)
 Act as a wrapper around an IPL/OpenCV image. More...
 
virtual bool read (yarp::os::ConnectionReader &connection) override
 Read image from a connection. More...
 
virtual bool write (yarp::os::ConnectionWriter &connection) const override
 Write image to a connection. More...
 
void setQuantum (size_t imgQuantum)
 
bool topIsLowIndex () const
 
void setTopIsLowIndex (bool flag)
 control whether image has origin at top left (default) or bottom left. More...
 
char ** getRowArray ()
 Get an array of pointers to the rows of the image. More...
 
virtual yarp::os::Type getReadType () const override
 
- Public Member Functions inherited from yarp::os::Portable
virtual Type getType () const
 
- Public Member Functions inherited from yarp::os::PortReader
virtual ~PortReader ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::os::PortWriter
virtual ~PortWriter ()
 Destructor. More...
 
virtual void onCompletion () const
 This is called when the port has finished all writing operations. More...
 
virtual void onCommencement () const
 This is called when the port is about to begin writing operations. More...
 
virtual yarp::os::Type getWriteType () const
 

Private Attributes

nullPixel
 

Additional Inherited Members

- Static Public Member Functions inherited from yarp::os::Portable
static bool copyPortable (PortWriter &writer, PortReader &reader)
 Copy one portable to another, via writing and reading. More...
 
- Protected Member Functions inherited from yarp::sig::Image
void setPixelCode (int imgPixelCode)
 
void setPixelSize (size_t imgPixelSize)
 

Constructor & Destructor Documentation

◆ ImageOf()

template<class T>
yarp::sig::ImageOf< T >::ImageOf ( )
inline

Definition at line 569 of file Image.h.

Member Function Documentation

◆ getPixelCode() [1/15]

template<typename T >
int yarp::sig::ImageOf< T >::getPixelCode ( ) const
inlineoverridevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 680 of file Image.h.

◆ getPixelCode() [2/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelMono >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 610 of file Image.h.

◆ getPixelCode() [3/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelMono16 >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 615 of file Image.h.

◆ getPixelCode() [4/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelRgb >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 620 of file Image.h.

◆ getPixelCode() [5/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelRgba >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 625 of file Image.h.

◆ getPixelCode() [6/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelHsv >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 630 of file Image.h.

◆ getPixelCode() [7/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelBgr >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 635 of file Image.h.

◆ getPixelCode() [8/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelBgra >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 640 of file Image.h.

◆ getPixelCode() [9/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelMonoSigned >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 645 of file Image.h.

◆ getPixelCode() [10/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelRgbSigned >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 650 of file Image.h.

◆ getPixelCode() [11/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelFloat >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 655 of file Image.h.

◆ getPixelCode() [12/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelRgbFloat >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 660 of file Image.h.

◆ getPixelCode() [13/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelRgbInt >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 665 of file Image.h.

◆ getPixelCode() [14/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelHsvFloat >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 670 of file Image.h.

◆ getPixelCode() [15/15]

template<>
int yarp::sig::ImageOf< yarp::sig::PixelInt >::getPixelCode ( ) const
inlinevirtual

Gets pixel type identifier.

Images have an associated type identifier to permit automatic casting between different image types.

Returns
the image type identifier

Reimplemented from yarp::sig::Image.

Definition at line 675 of file Image.h.

◆ getPixelSize()

template<class T>
virtual size_t yarp::sig::ImageOf< T >::getPixelSize ( ) const
inlineoverridevirtual

Gets pixel size in memory in bytes.

Returns
the size of the pixels stored in the image, in bytes

Reimplemented from yarp::sig::Image.

Definition at line 573 of file Image.h.

◆ operator()() [1/2]

template<class T>
const T& yarp::sig::ImageOf< T >::operator() ( size_t  x,
size_t  y 
) const
inline

Definition at line 587 of file Image.h.

◆ operator()() [2/2]

template<class T>
T& yarp::sig::ImageOf< T >::operator() ( size_t  x,
size_t  y 
)
inline

Definition at line 591 of file Image.h.

◆ pixel() [1/2]

template<class T>
T& yarp::sig::ImageOf< T >::pixel ( size_t  x,
size_t  y 
)
inline

Definition at line 579 of file Image.h.

◆ pixel() [2/2]

template<class T>
T& yarp::sig::ImageOf< T >::pixel ( size_t  x,
size_t  y 
) const
inline

Definition at line 583 of file Image.h.

◆ safePixel() [1/2]

template<class T>
T& yarp::sig::ImageOf< T >::safePixel ( size_t  x,
size_t  y 
)
inline

Definition at line 595 of file Image.h.

◆ safePixel() [2/2]

template<class T>
const T& yarp::sig::ImageOf< T >::safePixel ( size_t  x,
size_t  y 
) const
inline

Definition at line 600 of file Image.h.

Member Data Documentation

◆ nullPixel

template<class T>
T yarp::sig::ImageOf< T >::nullPixel
private

Definition at line 567 of file Image.h.


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