25 #ifndef INCLUDED_cvToEigen_h_GUID_3A0994D8_A408_44B1_411A_C86F3E9332AB 26 #define INCLUDED_cvToEigen_h_GUID_3A0994D8_A408_44B1_411A_C86F3E9332AB 32 #include <opencv2/calib3d/calib3d.hpp> 33 #include <opencv2/core/core.hpp> 34 #include <opencv2/core/eigen.hpp> 50 cv::Rodrigues(vec, rot);
51 Eigen::Matrix3d rotMat;
52 cv::cv2eigen(rot, rotMat);
59 cv::eigen2cv(eiRotMatrix, rotMatrix);
61 cv::Rodrigues(rotMatrix, rot);
65 inline Eigen::Vector3f cvToVector(cv::Point3f
const &point) {
66 return Eigen::Vector3f(point.x, point.y, point.z);
69 inline Eigen::Vector3d cvToVector(cv::Point3d
const &point) {
70 return Eigen::Vector3d(point.x, point.y, point.z);
73 inline Eigen::Vector2f cvToVector(cv::Point2f
const &point) {
74 return Eigen::Vector2f(point.x, point.y);
77 inline Eigen::Vector2d cvToVector(cv::Point2d
const &point) {
78 return Eigen::Vector2d(point.x, point.y);
81 inline Eigen::Vector3d cvToVector3d(cv::InputArray vec) {
82 cv::Mat src = vec.getMat();
83 CV_Assert(src.type() == CV_64FC1);
85 cv::cv2eigen(src, ret);
88 inline cv::Point3f vec3dToCVPoint3f(Eigen::Vector3d
const &vec) {
89 return cv::Point3f(vec.x(), vec.y(), vec.z());
92 inline cv::Point2f vecToPoint(Eigen::Vector2f
const &vec) {
93 return cv::Point2f(vec.x(), vec.y());
97 template <
typename Scalar,
size_t Rows,
size_t Cols>
99 map(cv::Matx<Scalar, Rows, Cols> &cvMatx) {
105 template <
typename Scalar,
size_t Rows,
size_t Cols>
107 map(cv::Matx<Scalar, Rows, Cols>
const &cvMatx) {
113 #endif // INCLUDED_cvToEigen_h_GUID_3A0994D8_A408_44B1_411A_C86F3E9332AB Matrix3 toRotationMatrix(void) const
Convert the quaternion to a 3x3 rotation matrix.
Definition: Quaternion.h:296
A matrix or vector expression mapping an existing array of data.
Definition: Map.h:104
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Header wrapping include of <Eigen/Core> and <Eigen/Geometry> for warning quieting.
Definition: Quaternion.h:47
Quaternion< double > Quaterniond
double precision quaternion type
Definition: Quaternion.h:211
The matrix class, also used for vectors and row-vectors.
Definition: Matrix.h:127