Encapsulates an image. More...
#include <ignition/common/common.hh>
Public Types | |
| enum | PixelFormatType { 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_BGGR8, 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... | |
| math::Color | AvgColor () |
| Get the average color. More... | |
| unsigned int | BPP () const |
| Get the size of one pixel in bits. More... | |
| void | Data (unsigned char **_data, unsigned int &_count) |
| Get the image as a data array. More... | |
| std::string | Filename () const |
| Get the full filename of the image. More... | |
| unsigned int | Height () const |
| Get the height. More... | |
| int | Load (const std::string &_filename) |
| Load an image. Return 0 on success. More... | |
| math::Color | MaxColor () const |
| Get the max color. More... | |
| int | Pitch () const |
| math::Color | Pixel (const unsigned int _x, const unsigned int _y) const |
| Get a pixel color value. More... | |
| PixelFormatType | PixelFormat () const |
| Get the pixel format. More... | |
| void | Rescale (const int _width, const int _height) |
| Rescale the image. More... | |
| void | RGBData (unsigned char **_data, unsigned int &_count) |
| Get only the RGB data from the image. This will drop the alpha channel if one is present. More... | |
| void | SavePNG (const std::string &_filename) |
| Save the image in PNG format. More... | |
| void | SavePNGToBuffer (std::vector< unsigned char > &_buffer) |
| Get the PNG image in a buffer. More... | |
| void | SetFromData (const unsigned char *_data, unsigned int _width, unsigned int _height, Image::PixelFormatType _format) |
| Set the image from raw data. More... | |
| bool | Valid () const |
| Returns whether this is a valid image. More... | |
| unsigned int | Width () const |
| Get the width. More... | |
Static Public Member Functions | |
| static Image::PixelFormatType | ConvertPixelFormat (const std::string &_format) |
| Convert a string to a Image::PixelFormat. More... | |
| template<typename T > | |
| static void | ConvertToRGBImage (const void *_data, unsigned int _width, unsigned int _height, Image &_output, T _min=std::numeric_limits< T >::max(), T _max=std::numeric_limits< T >::lowest(), bool _flip=false) |
| Convert a single channel image data buffer into an RGB image. During the conversion, the input image data are normalized to 8 bit values i.e. [0, 255]. Optionally, specify min and max values to use when normalizing the input image data. For example, if min and max are set to 1 and 10, a data value 2 will be normalized to: (2 - 1) / (10 - 1) * 255. More... | |
Detailed Description
Encapsulates an image.
Member Enumeration Documentation
◆ PixelFormatType
| enum PixelFormatType |
Constructor & Destructor Documentation
◆ Image()
|
explicit |
Constructor.
- Parameters
-
[in] _filename the path to the image
◆ ~Image()
|
virtual |
Destructor.
Member Function Documentation
◆ AvgColor()
| math::Color AvgColor | ( | ) |
Get the average color.
- Returns
- The average color
◆ BPP()
| unsigned int BPP | ( | ) | const |
Get the size of one pixel in bits.
- Returns
- The BPP of the image
◆ ConvertPixelFormat()
|
static |
Convert a string to a Image::PixelFormat.
- Parameters
-
[in] _format Pixel format string.
- See also
- Image::PixelFormatNames
- Returns
- Image::PixelFormat
◆ ConvertToRGBImage()
|
inlinestatic |
Convert a single channel image data buffer into an RGB image. During the conversion, the input image data are normalized to 8 bit values i.e. [0, 255]. Optionally, specify min and max values to use when normalizing the input image data. For example, if min and max are set to 1 and 10, a data value 2 will be normalized to: (2 - 1) / (10 - 1) * 255.
- Parameters
-
[in] _data input image data buffer [in] _width image width [in] _height image height [out] _output Output RGB image [in] _min Minimum value to be used when normalizing the input image data to RGB. [in] _max Maximum value to be used when normalizing the input image data to RGB. [in] _flip True to flip the values after normalization, i.e. lower values are converted to brigher pixels.
References ignition::math::equal(), std::isinf(), numeric_limits::lowest(), numeric_limits::max(), and Image::SetFromData().
◆ Data()
| void Data | ( | unsigned char ** | _data, |
| unsigned int & | _count | ||
| ) |
Get the image as a data array.
- Parameters
-
[out] _data Pointer to a NULL array of char. [out] _count The resulting data array size
◆ Filename()
| std::string Filename | ( | ) | const |
Get the full filename of the image.
- Returns
- The filename used to load the image
◆ Height()
| unsigned int Height | ( | ) | const |
Get the height.
- Returns
- The image height
◆ Load()
| int Load | ( | const std::string & | _filename | ) |
Load an image. Return 0 on success.
- Parameters
-
[in] _filename the path to the image file
- Returns
- 0 when the operation succeeds to open a file or -1 when fails.
◆ MaxColor()
| math::Color MaxColor | ( | ) | const |
Get the max color.
- Returns
- The max color
◆ Pitch()
| int Pitch | ( | ) | const |
- Returns
- The pitch of the image
◆ Pixel()
| math::Color Pixel | ( | const unsigned int | _x, |
| const unsigned int | _y | ||
| ) | const |
Get a pixel color value.
- Parameters
-
[in] _x Column location in the image [in] _y Row location in the image
- Returns
- The color of the given pixel
◆ PixelFormat()
| PixelFormatType PixelFormat | ( | ) | const |
Get the pixel format.
- Returns
- PixelFormat
◆ Rescale()
| void Rescale | ( | const int | _width, |
| const int | _height | ||
| ) |
Rescale the image.
- Parameters
-
[in] _width New image width [in] _height New image height
◆ RGBData()
| void RGBData | ( | unsigned char ** | _data, |
| unsigned int & | _count | ||
| ) |
Get only the RGB data from the image. This will drop the alpha channel if one is present.
- Parameters
-
[out] _data Pointer to a NULL array of char. [out] _count The resulting data array size
◆ SavePNG()
| void SavePNG | ( | const std::string & | _filename | ) |
Save the image in PNG format.
- Parameters
-
[in] _filename The name of the saved image
◆ SavePNGToBuffer()
| void SavePNGToBuffer | ( | std::vector< unsigned char > & | _buffer | ) |
Get the PNG image in a buffer.
- Parameters
-
[out] _buffer Buffer with the data
◆ SetFromData()
| void SetFromData | ( | const unsigned char * | _data, |
| unsigned int | _width, | ||
| unsigned int | _height, | ||
| Image::PixelFormatType | _format | ||
| ) |
Set the image from raw data.
- Parameters
-
[in] _data Pointer to the raw image data [in] _width Width in pixels [in] _height Height in pixels [in] _format Pixel format of the provided data
Referenced by Image::ConvertToRGBImage().
◆ Valid()
| bool Valid | ( | ) | const |
Returns whether this is a valid image.
- Returns
- true if image has a bitmap
◆ Width()
| unsigned int Width | ( | ) | const |
Get the width.
- Returns
- The image width
The documentation for this class was generated from the following file: