|
template<typename T > |
void | applyTo (T &) const |
| Apply homography to a vector/array/list (type T) of points or lines. More...
|
|
void | buildFrom4Points (const std::vector< Point2d_< FPT >> &, const std::vector< Point2d_< FPT >> &, int method=1) |
| Build Homography from 2 sets of 4 points. More...
|
|
void | copyTo (cv::Mat &, int type=CV_64F) const |
| Copy matrix to Opencv cv::Mat . More...
|
|
void | init () |
|
Hmatrix_ & | inverse () |
| Inverse matrix. More...
|
|
void | normalize () const |
| Homography normalisation (const because flag _hasChanged declared as mutable ) More...
|
|
bool | operator!= (const Hmatrix_ &h) const |
| Comparison operator. Does normalization if required. More...
|
|
Hmatrix_ & | operator= (const Hmatrix_< M, FPT > &other) |
| Assignment operator. More...
|
|
Hmatrix_ & | operator= (const cv::Mat &) |
| Get homography from Opencv cv::Mat . More...
|
|
bool | operator== (const Hmatrix_ &h) const |
| Comparison operator. Does normalization if required. More...
|
|
|
| Hmatrix_ () |
| Default constructor, initialize to unit transformation. More...
|
|
template<typename T > |
| Hmatrix_ (T val) |
| Constructor, set homography to a rotation matrix of angle val . More...
|
|
template<typename T1 , typename T2 > |
| Hmatrix_ (T1 tx, T2 ty) |
| Constructor, set homography to a translation matrix ( see Hmatrix_( T ) ) More...
|
|
template<typename T > |
| Hmatrix_ (const std::vector< std::vector< T >> &in) |
| Constructor, used to fill with a vector of vector matrix. More...
|
|
template<typename T > |
| Hmatrix_ (const std::array< std::array< T, 3 >, 3 > &in) |
| Constructor, used to fill with a std::array. More...
|
|
| Hmatrix_ (const Hmatrix_< M, FPT > &other) |
| Copy-constructor. More...
|
|
| Hmatrix_ (const cv::Mat &mat) |
| Constructor used to initialise with a cv::Mat, call the assignment operator. More...
|
|
|
template<typename T > |
Hmatrix_ & | addTranslation (T tx, T ty) |
| Adds a translation tx ,ty to the matrix. More...
|
|
template<typename T1 , typename T2 > |
Hmatrix_ & | setTranslation (T1 tx, T2 ty) |
| Sets the matrix as a translation tx ,ty. More...
|
|
template<typename T > |
Hmatrix_ & | addRotation (T theta) |
| Adds a rotation with an angle theta (radians) to the matrix. More...
|
|
template<typename T > |
Hmatrix_ & | setRotation (T theta) |
| Sets the matrix as a rotation with an angle theta (radians) More...
|
|
template<typename T > |
Hmatrix_ & | addScale (T k) |
| Adds the same scale factor to the matrix. More...
|
|
template<typename T1 , typename T2 > |
Hmatrix_ & | addScale (T1 kx, T2 ky) |
| Adds a scale factor to the matrix. More...
|
|
template<typename T > |
Hmatrix_ & | setScale (T k) |
| Sets the matrix as a scaling transformation (same on two axis) More...
|
|
template<typename T1 , typename T2 > |
Hmatrix_ & | setScale (T1 kx, T2 ky) |
| Sets the matrix as a scaling transformation. More...
|
|
HOMOG2D_INUMTYPE | determ () const |
| Return determinant of matrix. More...
|
|
matrix_t< FPT > & | getRaw () |
|
const matrix_t< FPT > & | getRaw () const |
|
Matrix_ & | inverse () |
| Inverse matrix. More...
|
|
bool | isNormalized () const |
|
| Matrix_ () |
| Constructor. More...
|
|
template<typename FPT2 > |
| Matrix_ (const Matrix_< FPT2 > &other) |
| Copy-Constructor. More...
|
|
template<typename T > |
void | set (size_t r, size_t c, T v) |
|
Matrix_ & | transpose () |
| Transpose and return matrix. More...
|
|
const FPT & | value (size_t r, size_t c) const |
|
FPT & | value (size_t r, size_t c) |
|
std::pair< int, int > | dsize () const |
| Get data size expressed as number of bits for, respectively, mantissa and exponent. More...
|
|
Dtype | dtype () const |
| Get numerical data type as a Dtype value, can be stringified with h2d::getString(Dtype) More...
|
|
template<typename T > |
constexpr bool | isInside (const Common< T > &) const |
| This function is a fallback for all sub-classes that do not provide such a method. More...
|
|
size_t | size () const |
|
|
template<typename T1 , typename T2 > |
class | LPBase |
|
template<typename T , typename U > |
Line2d_< T > | operator* (const Homogr_< U > &, const Line2d_< T > &) |
|
template<typename T , typename U > |
Point2d_< T > | operator* (const Homogr_< U > &, const Point2d_< T > &) |
|
template<typename T , typename U , typename V > |
base::LPBase< typename detail::HelperPL< T >::OtherType, V > | operator* (const Hmatrix_< typ::IsEpipmat, U > &h, const base::LPBase< T, V > &in) |
|
Hmatrix_ | operator* (const Hmatrix_ &h1, const Hmatrix_ &h2) |
| Matrix multiplication, call the base class product. More...
|
|
std::ostream & | operator<< (std::ostream &f, const Hmatrix_ &h) |
|
template<typename M, typename FPT>
class h2d::Hmatrix_< M, FPT >
A 2D homography, defining a planar transformation.
To define an affine or rigid transformation, you can use:
To add an affine or rigid transformation to the current one, you can use:
To return to unit transformation, use init()
Implemented as a 3x3 matrix
Templated by Floating-Point Type (FPT) and by type M (typ::IsEpipmat or typ::IsHomogr)