last update 20 Sep 2009 |
#include <cvrGeometricTransform.h>
Classes | |
class | parameters |
The parameters for the class geometricTransform. More... | |
Public Member Functions | |
geometricTransform () | |
geometricTransform (const parameters &par) | |
geometricTransform (const geometricTransform< I > &other) | |
virtual | ~geometricTransform () |
virtual bool | apply (matrix< value_type > &srcdest) const |
virtual bool | apply (const matrix< value_type > &src, matrix< value_type > &dest) const =0 |
virtual bool | apply (matrix< value_type > &srcdest, fpoint &offset) const |
virtual bool | apply (const matrix< value_type > &src, matrix< value_type > &dest, fpoint &offset) const =0 |
geometricTransform & | copy (const geometricTransform< I > &other) |
geometricTransform & | operator= (const geometricTransform< I > &other) |
virtual const std::string & | name () const |
virtual geometricTransform< I > * | clone () const =0 |
virtual geometricTransform< I > * | newInstance () const =0 |
const parameters & | getParameters () const |
virtual bool | updateParameters () |
interpolator_type & | getInterpolator () |
const interpolator_type & | getInterpolator () const |
Protected Member Functions | |
parameters & | getParameters () |
Protected Attributes | |
interpolator_type | interpolator_ |
This is an abstract template class, parent of all functors that achieve geometric transformation of images, like affine or homogeneous transformations.
The template parameter I indicates the interpolator type to be used. The class provided must be inherited from cvr::fixedGridInterpolation. Note that the interpolator works for one type of containers only, and only that type will be supported by this class too.
cvr::geometricTransform< I >::geometricTransform | ( | ) |
Default constructor.
cvr::geometricTransform< I >::geometricTransform | ( | const parameters & | par | ) |
Construct a functor using the given parameters.
cvr::geometricTransform< I >::geometricTransform | ( | const geometricTransform< I > & | other | ) |
virtual cvr::geometricTransform< I >::~geometricTransform | ( | ) | [virtual] |
Destructor.
virtual bool cvr::geometricTransform< I >::apply | ( | const matrix< value_type > & | src, | |
matrix< value_type > & | dest, | |||
fpoint & | offset | |||
) | const [pure virtual] |
Transform geometrically the source image and leave the result on the destination container.
If the parameters specify to AdjustDimensions, then the offset value will contain the relative position of the srcdest origin with respect to the original image coordinate system. To all other resize policies, the value of offset is set to (0,0).
src | matrix<value_type> with the source data. | |
dest | matrix<value_type> where the result will be left. | |
offset | position of the origin of the result with respect to the coordinate system of the original image. |
Implemented in cvr::matrixTransform< I >.
virtual bool cvr::geometricTransform< I >::apply | ( | matrix< value_type > & | srcdest, | |
fpoint & | offset | |||
) | const [virtual] |
Transform geometrically the given image and leave the result on the same container.
If the parameters specify to AdjustDimensions, then the offset value will contain the relative position of the srcdest origin with respect to the original image coordinate system. To all other resize policies, the value of offset is set to (0,0).
srcdest | matrix<T> with the source data. The result will be left here too. | |
offset | position of the origin of the result with respect to the coordinate system of the original image. |
Reimplemented in cvr::matrixTransform< I >.
virtual bool cvr::geometricTransform< I >::apply | ( | const matrix< value_type > & | src, | |
matrix< value_type > & | dest | |||
) | const [pure virtual] |
Transform geometrically the source image and leave the result on the destination container.
Operates on a copy of the given parameters.
src | matrix<value_type> with the source data. | |
dest | matrix<value_type> where the result will be left. |
Implements cvr::matrixProcessingInterface< I::value_type >.
Implemented in cvr::matrixTransform< I >.
virtual bool cvr::geometricTransform< I >::apply | ( | matrix< value_type > & | srcdest | ) | const [virtual] |
Transform geometrically the given image and leave the result on the same container.
srcdest | matrix<T> with the source data. The result will be left here too. |
Implements cvr::matrixProcessingInterface< I::value_type >.
Reimplemented in cvr::matrixTransform< I >.
virtual geometricTransform<I>* cvr::geometricTransform< I >::clone | ( | ) | const [pure virtual] |
Returns a pointer to a clone of this functor.
Implements cvr::geometricTransformBase.
Implemented in cvr::matrixTransform< I >.
geometricTransform& cvr::geometricTransform< I >::copy | ( | const geometricTransform< I > & | other | ) |
const interpolator_type& cvr::geometricTransform< I >::getInterpolator | ( | ) | const |
interpolator_type& cvr::geometricTransform< I >::getInterpolator | ( | ) |
parameters& cvr::geometricTransform< I >::getParameters | ( | ) | [protected] |
Returns used parameters.
Reimplemented from cvr::geometricTransformBase.
Reimplemented in cvr::matrixTransform< I >.
const parameters& cvr::geometricTransform< I >::getParameters | ( | ) | const |
Returns used parameters.
Reimplemented from cvr::geometricTransformBase.
Reimplemented in cvr::matrixTransform< I >.
virtual const std::string& cvr::geometricTransform< I >::name | ( | ) | const [virtual] |
Returns the complete name of the functor class.
Reimplemented from cvr::geometricTransformBase.
Reimplemented in cvr::matrixTransform< I >.
virtual geometricTransform<I>* cvr::geometricTransform< I >::newInstance | ( | ) | const [pure virtual] |
Returns a pointer to a new instance of this functor.
Implements cvr::geometricTransformBase.
Implemented in cvr::matrixTransform< I >.
geometricTransform& cvr::geometricTransform< I >::operator= | ( | const geometricTransform< I > & | other | ) |
virtual bool cvr::geometricTransform< I >::updateParameters | ( | ) | [virtual] |
Update parameters instance.
Reimplemented from cvr::parametersManager.
Reimplemented in cvr::matrixTransform< I >.
interpolator_type cvr::geometricTransform< I >::interpolator_ [protected] |
Interpolator instance with the appropriate parameters.
The updateParameters method will ensure that the interpolator parameters are set appropriatelly