eLynx SDK
v3.3.0 C++ image processing API reference |
Abstract predecessor for all geometrical 2D plane-to-2D plane transformations. More...
#include <AbstractTransformation.h>
Public Member Functions | |
AbstractTransformation () | |
Constructor, creates uninitialized transformation. | |
virtual | ~AbstractTransformation () |
Virtual destructor, provided to ensure destructor virtuality in descendants. | |
virtual boost::shared_ptr < AbstractTransformation > | Clone () const =0 |
Creates and returns copy of this object. | |
virtual bool | IsIdentity () const =0 |
Abstract method, returns true if actual transformation is identity transformation. | |
virtual void | Transform (double iX, double iY, double &oX, double &oY) const =0 |
Abstract method, which transforms point position in the coordinate space of the first plane, into position in the coordinate space of the second plane. | |
virtual void | GetTransformedBBox (uint32 iWidth, uint32 iHeight, double &oLeft, double &oTop, double &oWidth, double &oHeight) const =0 |
Abstract method, which computes bounding box of the transformed (second) image in the coordinate space of the first image. | |
virtual void | InverseTransform (double iX, double iY, double &oX, double &oY) const =0 |
Abstract method, which transforms position of the pixel in the coordinate space of the second image, into position in the coordinate space of the first image. | |
virtual void | GetInverseBBox (uint32 iWidth, uint32 iHeight, double &oLeft, double &oTop, double &oWidth, double &oHeight) const =0 |
Abstract method, which computes bounding box of the original (first) image in the coordinate space of the second image. |
Abstract predecessor for all geometrical 2D plane-to-2D plane transformations.
It represents a transformation from coordinate space of one plane to the coordinate space of the second plane. It is also possible to perform inverse transformation from the coordinate space of the second plane to the coordinate space of the first plane. In fact, inverse transformation is typically used for image processing, as it assigns to each pixel of new image the position in the original image.
virtual eLynx::Math::AbstractTransformation::~AbstractTransformation | ( | ) | [inline, virtual] |
Virtual destructor, provided to ensure destructor virtuality in descendants.
virtual boost::shared_ptr<AbstractTransformation> eLynx::Math::AbstractTransformation::Clone | ( | ) | const [pure virtual] |
Creates and returns copy of this object.
This method should be used in copy constructors of objects, that holds pointer to AbstractTransformation object.
Implemented in eLynx::Math::LinearTransformation.
virtual void eLynx::Math::AbstractTransformation::GetInverseBBox | ( | uint32 | iWidth, |
uint32 | iHeight, | ||
double & | oLeft, | ||
double & | oTop, | ||
double & | oWidth, | ||
double & | oHeight | ||
) | const [pure virtual] |
Abstract method, which computes bounding box of the original (first) image in the coordinate space of the second image.
Second image has a bounding box (0, 0)-(iWidth, iHeight). First image has a bounding box (oLeft, oTop)-(oLeft+oWidth, oTop+oHeight).
iWidth | the width of the second image |
iHeight | the height of the second image |
oLeft | the left coordinate of the first image bounding box |
oTop | the top coordinate of the first image bounding box |
oWidth | the width of the first image bounding box |
oHeight | the height of the first image bounding box |
Implemented in eLynx::Math::LinearTransformation.
virtual void eLynx::Math::AbstractTransformation::GetTransformedBBox | ( | uint32 | iWidth, |
uint32 | iHeight, | ||
double & | oLeft, | ||
double & | oTop, | ||
double & | oWidth, | ||
double & | oHeight | ||
) | const [pure virtual] |
Abstract method, which computes bounding box of the transformed (second) image in the coordinate space of the first image.
First image has a bounding box (0, 0)-(iWidth, iHeight). Second image has a bounding box (oLeft, oTop)-(oLeft+oWidth, oTop+oHeight).
iWidth | the width of the first image |
iHeight | the height of the first image |
oLeft | the left coordinate of the second image bounding box |
oTop | the top coordinate of the second image bounding box |
oWidth | the width of the second image bounding box |
oHeight | the height of the second image bounding box |
Implemented in eLynx::Math::LinearTransformation.
virtual void eLynx::Math::AbstractTransformation::InverseTransform | ( | double | iX, |
double | iY, | ||
double & | oX, | ||
double & | oY | ||
) | const [pure virtual] |
Abstract method, which transforms position of the pixel in the coordinate space of the second image, into position in the coordinate space of the first image.
iX | the x coordinate of the pixel on the second image |
iY | the y coordinate of the pixel on the second image |
oX | the x position on the first image |
oY | the y position on the first image |
Implemented in eLynx::Math::LinearTransformation.
virtual bool eLynx::Math::AbstractTransformation::IsIdentity | ( | ) | const [pure virtual] |
Abstract method, returns true if actual transformation is identity transformation.
Can be used to speed up the processing.
Implemented in eLynx::Math::LinearTransformation.
virtual void eLynx::Math::AbstractTransformation::Transform | ( | double | iX, |
double | iY, | ||
double & | oX, | ||
double & | oY | ||
) | const [pure virtual] |
Abstract method, which transforms point position in the coordinate space of the first plane, into position in the coordinate space of the second plane.
iX | the x coordinate of the point on the first plane. |
iY | the y coordinate of the point on the first plane. |
oX | the x position on the second plane. |
oY | the y position on the second plane. |
Implemented in eLynx::Math::LinearTransformation.