MIRA
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ImgBase< TImg > Class Template Reference

ImgBase class. More...

#include <image/Img.h>

Inheritance diagram for ImgBase< TImg >:
Inheritance graph
[legend]

Classes

struct  ImgFormat
 Image storage format description (used e.g. More...
 

Public Member Functions

 operator const cv::Mat & () const
 cast operator to const cv::Mat More...
 
 operator cv::Mat & ()
 cast operator to cv::Mat More...
 
ImgBaseoperator= (const ImgBase &other)
 Assignment operator, that usually makes a shallow copy of "other". More...
 
void assignROI (const cv::Rect &roi, const ImgBase &other)
 Copies the content of other into the specified region of interest (ROI) of THIS image. More...
 
void assignMask (const cv::Rect &roi, const ImgBase &other, const cv::Mat &mask)
 Copies the content of other into the specified region of interest (ROI) of THIS image, where mask has non-zero values. More...
 
void assignPolygon (const cv::Rect &roi, const ImgBase &other, const Polygon2i &poly)
 Copies the content of other into the specified region of interest (ROI) of THIS image, in area covered by polygon. More...
 
bool operator== (const cv::Mat &other) const
 Returns true if two images are equal. More...
 
bool operator!= (const cv::Mat &other) const
 Returns true if two images are different. More...
 
const cv::MatgetMat () const
 Returns const access to internal data. More...
 
bool empty () const
 returns true if internal Mat is empty More...
 
int width () const
 
int height () const
 
std::size_t step () const
 Number of bytes from one row to the next. More...
 
std::size_t bytesPerLine () const
 Returns the number of bytes per image line. More...
 
Size2i size () const
 Returns size of image data. More...
 
int depth () const
 Returns the bit-depth of the image E.g. More...
 
int channels () const
 Returns the number of channels of this image. More...
 
bool isEmpty () const
 returns true if internal Mat is empty More...
 
uint8 * data ()
 Returns pointer to underlying image data. More...
 
const uint8 * data () const
 Returns const pointer to underlying image data. More...
 
uint8 * data (int y)
 Returns pointer to underlying image data starting at scanline y. More...
 
const uint8 * data (int y) const
 Returns const pointer to underlying image data starting at scanline y. More...
 
ImgFormat format () const
 Return the storage format description. More...
 
void resize (const Size2i &s)
 Resizes the image to the specified dimensions (without changing its type, i.e. More...
 
void resize (int width, int height)
 Same as above method. More...
 
void clear ()
 Sets each pixel and each channel to zero. More...
 
TImg clone () const
 Deep copy of image data. More...
 
std::size_t total () const
 Returns the total size of the matrix (rows*cols) More...
 
template<typename Derived >
void reflect (BinarySerializer< Derived > &r)
 reflect method for binaryStream serialization This method implements the reflection of width, height, type, and the actual image data serialization. More...
 
template<typename Derived >
void reflect (BinaryDeserializer< Derived > &r)
 reflect method for binaryStream deserialization This method implements the reflection for width, height, type, and the image data deserialization. More...
 
void reflect (JSONSerializer &r)
 reflect method for json serialization This method implements the reflection of general data like width, height and image format, but not the full image data. More...
 

Protected Member Functions

 ImgBase ()
 base constructor internal data is empty. More...
 
 ImgBase (const cv::Mat &data)
 constructor to initialize internal data from cv::Mat More...
 
 ImgBase (int width, int height, int type)
 constructor initialize internal data with width, height, and type note: the image data is allocated but not initialized More...
 
 ImgBase (const ImgBase &other)
 Copy constructor, that creates a shallow copy. More...
 

Protected Attributes

cv::Mat mData
 

Detailed Description

template<typename TImg>
class mira::ImgBase< TImg >

ImgBase class.

Base class implementing functionality for untyped Img<> template class and typed ImgTypedBase template classes. You should not directly create instances of this class. Therefore, the constructor is protected.

Constructor & Destructor Documentation

◆ ImgBase() [1/4]

ImgBase ( )
inlineprotected

base constructor internal data is empty.

◆ ImgBase() [2/4]

ImgBase ( const cv::Mat data)
inlineprotected

constructor to initialize internal data from cv::Mat

Note
This method does not create any copy of the given Mat. Hence, if the Mat is changed then the changes will take effect in all images that share that data. To create a deep copy use clone() method.

◆ ImgBase() [3/4]

ImgBase ( int  width,
int  height,
int  type 
)
inlineprotected

constructor initialize internal data with width, height, and type note: the image data is allocated but not initialized

◆ ImgBase() [4/4]

ImgBase ( const ImgBase< TImg > &  other)
inlineprotected

Copy constructor, that creates a shallow copy.

Note
This method does not create any copy of the image data, hence if the image data is changed then the changes will take effect in all images that share that data. To create a deep copy use the clone() method.

Member Function Documentation

◆ operator const cv::Mat &()

operator const cv::Mat & ( ) const
inline

cast operator to const cv::Mat

◆ operator cv::Mat &()

operator cv::Mat & ( )
inline

cast operator to cv::Mat

◆ operator=()

ImgBase& operator= ( const ImgBase< TImg > &  other)
inline

Assignment operator, that usually makes a shallow copy of "other".

◆ assignROI()

void assignROI ( const cv::Rect &  roi,
const ImgBase< TImg > &  other 
)
inline

Copies the content of other into the specified region of interest (ROI) of THIS image.

Note, the number of rows and columns of "other" and "this" ROI must be equal.

◆ assignMask()

void assignMask ( const cv::Rect &  roi,
const ImgBase< TImg > &  other,
const cv::Mat mask 
)
inline

Copies the content of other into the specified region of interest (ROI) of THIS image, where mask has non-zero values.

Note, the number of rows and columns of "other", "mask" and "this" ROI must be equal.

◆ assignPolygon()

void assignPolygon ( const cv::Rect &  roi,
const ImgBase< TImg > &  other,
const Polygon2i poly 
)
inline

Copies the content of other into the specified region of interest (ROI) of THIS image, in area covered by polygon.

The result does not depend on cw/ccw order of polygon points. Note, the number of rows and columns of "other" and "this" ROI must be equal. Polygon points are relative to roi, any polygon points outside roi are ignored! (i.e.they must be >= 0, < roi width/height)!

◆ operator==()

bool operator== ( const cv::Mat other) const
inline

Returns true if two images are equal.

this methods checks if two images are equal by comparing their dimensions, flags and pixel data (byte wise)

◆ operator!=()

bool operator!= ( const cv::Mat other) const
inline

Returns true if two images are different.

See operator==

◆ getMat()

const cv::Mat& getMat ( ) const
inline

Returns const access to internal data.

◆ empty()

bool empty ( ) const
inline

returns true if internal Mat is empty

◆ width()

int width ( ) const
inline

◆ height()

int height ( ) const
inline

◆ step()

std::size_t step ( ) const
inline

Number of bytes from one row to the next.

◆ bytesPerLine()

std::size_t bytesPerLine ( ) const
inline

Returns the number of bytes per image line.

◆ size()

Size2i size ( ) const
inline

Returns size of image data.

◆ depth()

int depth ( ) const
inline

Returns the bit-depth of the image E.g.

CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F

Returns
bit-depth of image

◆ channels()

int channels ( ) const
inline

Returns the number of channels of this image.

Note: typed images also have a static enum value 'Channels'

Returns
Number of image channels

◆ isEmpty()

bool isEmpty ( ) const
inline

returns true if internal Mat is empty

◆ data() [1/4]

uint8* data ( )
inline

Returns pointer to underlying image data.

◆ data() [2/4]

const uint8* data ( ) const
inline

Returns const pointer to underlying image data.

◆ data() [3/4]

uint8* data ( int  y)
inline

Returns pointer to underlying image data starting at scanline y.

◆ data() [4/4]

const uint8* data ( int  y) const
inline

Returns const pointer to underlying image data starting at scanline y.

◆ format()

ImgFormat format ( ) const
inline

Return the storage format description.

◆ resize() [1/2]

void resize ( const Size2i s)
inline

Resizes the image to the specified dimensions (without changing its type, i.e.

channels and bit depth remains constant). The method does nothing, if the specified dimensions equal the current size of the image.

◆ resize() [2/2]

void resize ( int  width,
int  height 
)
inline

Same as above method.

◆ clear()

void clear ( )
inline

Sets each pixel and each channel to zero.

◆ clone()

TImg clone ( ) const
inline

Deep copy of image data.

◆ total()

std::size_t total ( ) const
inline

Returns the total size of the matrix (rows*cols)

◆ reflect() [1/3]

void reflect ( BinarySerializer< Derived > &  r)
inline

reflect method for binaryStream serialization This method implements the reflection of width, height, type, and the actual image data serialization.

◆ reflect() [2/3]

void reflect ( BinaryDeserializer< Derived > &  r)
inline

reflect method for binaryStream deserialization This method implements the reflection for width, height, type, and the image data deserialization.

◆ reflect() [3/3]

void reflect ( JSONSerializer r)
inline

reflect method for json serialization This method implements the reflection of general data like width, height and image format, but not the full image data.

It enables a basic overview in a text visualization.

Member Data Documentation

◆ mData

cv::Mat mData
protected

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