1 #ifndef LICORNEA_EIGEN_H_ 2 #define LICORNEA_EIGEN_H_ 7 #include <opencv2/core/eigen.hpp> 11 using Eigen_matXX = Eigen::Matrix<real, Eigen::Dynamic, Eigen::Dynamic>;
12 template<std::
size_t Cols>
using Eigen_matXn = Eigen::Matrix<real, Eigen::Dynamic, Cols>;
13 template<std::
size_t Rows>
using Eigen_matnX = Eigen::Matrix<real, Rows, Eigen::Dynamic>;
14 template<std::
size_t Rows, std::
size_t Cols>
using Eigen_mat = Eigen::Matrix<real, Rows, Cols>;
18 using Eigen_vecX = Eigen::Matrix<real, Eigen::Dynamic, 1>;
19 template<std::
size_t Rows>
using Eigen_vec = Eigen::Matrix<real, Rows, 1>;
23 template<
int Rows,
int Cols>
26 for(std::ptrdiff_t i = 0; i < Rows; ++i)
for(std::ptrdiff_t j = 0; j < Cols; ++j) eigen_mat(i, j) = cv_mat(i, j);
32 for(std::ptrdiff_t i = 0; i < Rows; ++i) eigen_vec[i] = cv_vec[i];
38 template<std::
size_t Rows, std::
size_t Cols>
40 cv::Matx<real, Rows, Cols> cv_mat;
41 for(std::ptrdiff_t i = 0; i < Rows; ++i)
for(std::ptrdiff_t j = 0; j < Cols; ++j) cv_mat(i, j) = eigen_mat(i, j);
46 cv::Vec<real, Rows> cv_vec;
47 for(std::ptrdiff_t i = 0; i < Rows; ++i) cv_vec[i] = eigen_vec[i];
Eigen::Matrix< real, Rows, Cols > Eigen_mat
cv::Vec< real, Rows > from_eigen(const Eigen_vec< Rows > &eigen_vec)
Eigen::Matrix< real, Eigen::Dynamic, Eigen::Dynamic > Eigen_matXX
Eigen::Matrix< real, Rows, 1 > Eigen_vec
Eigen_mat< 2, 2 > Eigen_mat22
Eigen_vec< 3 > Eigen_vec3
Eigen_mat< Rows, Cols > to_eigen_mat(const cv::Matx< real, Rows, Cols > &cv_mat)
Eigen::Matrix< real, Eigen::Dynamic, 1 > Eigen_vecX
Eigen::Matrix< real, Rows, Eigen::Dynamic > Eigen_matnX
Eigen::Matrix< real, Eigen::Dynamic, Cols > Eigen_matXn
Eigen_vec< Rows > to_eigen(const cv::Vec< real, Rows > &cv_vec)
cv::Matx< real, Rows, Cols > from_eigen_mat(const Eigen_mat< Rows, Cols > &eigen_mat)
Eigen_mat< 3, 3 > Eigen_mat33
Eigen_vec< 2 > Eigen_vec2