Image Class Reference

Encapsulates an image. More...

#include <common/common.hh>

Public Types

enum  PixelFormat {
  UNKNOWN_PIXEL_FORMAT = 0, L_INT8, L_INT16, RGB_INT8,
  RGBA_INT8, BGRA_INT8, RGB_INT16, RGB_INT32,
  BGR_INT8, BGR_INT16, BGR_INT32, R_FLOAT16,
  RGB_FLOAT16, R_FLOAT32, RGB_FLOAT32, BAYER_RGGB8,
  BAYER_RGGR8, BAYER_GBRG8, BAYER_GRBG8, PIXEL_FORMAT_COUNT
}
 Pixel formats enumeration. More...
 

Public Member Functions

 Image (const std::string &_filename="")
 Constructor. More...
 
virtual ~Image ()
 Destructor. More...
 
Color GetAvgColor ()
 Get the average color. More...
 
unsigned int GetBPP () const
 Get the size of one pixel in bits. More...
 
void GetData (unsigned char **_data, unsigned int &_count) const
 Get the image as a data array. More...
 
std::string GetFilename () const
 Get the full filename of the image. More...
 
unsigned int GetHeight () const
 Get the height. More...
 
Color GetMaxColor () const
 Get the max color. More...
 
int GetPitch () const
 
Color GetPixel (unsigned int _x, unsigned int _y) const
 Get a pixel color value. More...
 
PixelFormat GetPixelFormat () const
 Get the pixel format. More...
 
void GetRGBData (unsigned char **_data, unsigned int &_count) const
 Get only the RGB data from the image. More...
 
unsigned int GetWidth () const
 Get the width. More...
 
int Load (const std::string &_filename)
 Load an image. More...
 
void Rescale (int _width, int _height)
 Rescale the image. More...
 
void SavePNG (const std::string &_filename)
 Save the image in PNG format. More...
 
void SetFromData (const unsigned char *_data, unsigned int _width, unsigned int _height, Image::PixelFormat _format)
 Set the image from raw data. More...
 
bool Valid () const
 Returns whether this is a valid image. More...
 

Static Public Member Functions

static Image::PixelFormat ConvertPixelFormat (const std::string &_format)
 Convert a string to a Image::PixelFormat. More...
 

Detailed Description

Encapsulates an image.

Member Enumeration Documentation

Pixel formats enumeration.

Enumerator
UNKNOWN_PIXEL_FORMAT 
L_INT8 
L_INT16 
RGB_INT8 
RGBA_INT8 
BGRA_INT8 
RGB_INT16 
RGB_INT32 
BGR_INT8 
BGR_INT16 
BGR_INT32 
R_FLOAT16 
RGB_FLOAT16 
R_FLOAT32 
RGB_FLOAT32 
BAYER_RGGB8 
BAYER_RGGR8 
BAYER_GBRG8 
BAYER_GRBG8 
PIXEL_FORMAT_COUNT 

Constructor & Destructor Documentation

Image ( const std::string &  _filename = "")
explicit

Constructor.

Parameters
[in]_filenamethe path to the image
virtual ~Image ( )
virtual

Destructor.

Member Function Documentation

static Image::PixelFormat ConvertPixelFormat ( const std::string &  _format)
static

Convert a string to a Image::PixelFormat.

Parameters
[in]_formatPixel format string.
See also
Image::PixelFormatNames
Returns
Image::PixelFormat
Color GetAvgColor ( )

Get the average color.

Returns
The average color
unsigned int GetBPP ( ) const

Get the size of one pixel in bits.

Returns
The BPP of the image
void GetData ( unsigned char **  _data,
unsigned int &  _count 
) const

Get the image as a data array.

Parameters
[out]_dataPointer to a nullptr array of char.
[out]_countThe resulting data array size
std::string GetFilename ( ) const

Get the full filename of the image.

Returns
The filename used to load the image
unsigned int GetHeight ( ) const

Get the height.

Returns
The image height
Color GetMaxColor ( ) const

Get the max color.

Returns
The max color
int GetPitch ( ) const
Returns
The pitch of the image
Color GetPixel ( unsigned int  _x,
unsigned int  _y 
) const

Get a pixel color value.

Parameters
[in]_xColumn location in the image
[in]_yRow location in the image
Returns
The color of the given pixel
PixelFormat GetPixelFormat ( ) const

Get the pixel format.

Returns
PixelFormat
void GetRGBData ( unsigned char **  _data,
unsigned int &  _count 
) const

Get only the RGB data from the image.

This will drop the alpha channel if one is present.

Parameters
[out]_dataPointer to a nullptr array of char.
[out]_countThe resulting data array size
unsigned int GetWidth ( ) const

Get the width.

Returns
The image width
int Load ( const std::string &  _filename)

Load an image.

Return 0 on success

Parameters
[in]_filenamethe path to the image file
Returns
0 when the operation succeeds to open a file or -1 when fails.
void Rescale ( int  _width,
int  _height 
)

Rescale the image.

Parameters
[in]_widthNew image width
[in]_heightNew image height
void SavePNG ( const std::string &  _filename)

Save the image in PNG format.

Parameters
[in]_filenameThe name of the saved image
void SetFromData ( const unsigned char *  _data,
unsigned int  _width,
unsigned int  _height,
Image::PixelFormat  _format 
)

Set the image from raw data.

Parameters
[in]_dataPointer to the raw image data
[in]_widthWidth in pixels
[in]_heightHeight in pixels
[in]_formatPixel format of the provided data
bool Valid ( ) const

Returns whether this is a valid image.

Returns
true if image has a bitmap

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