|
|
|
@ -45,9 +45,14 @@ |
|
|
|
|
#ifndef OPENCV_CORE_EIGEN_HPP |
|
|
|
|
#define OPENCV_CORE_EIGEN_HPP |
|
|
|
|
|
|
|
|
|
#ifndef EIGEN_WORLD_VERSION |
|
|
|
|
#error "Wrong usage of OpenCV's Eigen utility header. Include Eigen's headers first. See https://github.com/opencv/opencv/issues/17366"
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#include "opencv2/core.hpp" |
|
|
|
|
|
|
|
|
|
#if EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION >= 3 |
|
|
|
|
#if EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION >= 3 \ |
|
|
|
|
&& defined(CV_CXX11) && defined(CV_CXX_STD_ARRAY) |
|
|
|
|
#include <unsupported/Eigen/CXX11/Tensor> |
|
|
|
|
#define OPENCV_EIGEN_TENSOR_SUPPORT |
|
|
|
|
#endif // EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION >= 3
|
|
|
|
@ -157,7 +162,7 @@ Eigen::TensorMap<Eigen::Tensor<float, 3, Eigen::RowMajor>> a_tensormap = cv2eige |
|
|
|
|
\endcode |
|
|
|
|
*/ |
|
|
|
|
template <typename _Tp> static inline |
|
|
|
|
Eigen::TensorMap<Eigen::Tensor<_Tp, 3, Eigen::RowMajor>> cv2eigen_tensormap(const cv::InputArray &src) |
|
|
|
|
Eigen::TensorMap<Eigen::Tensor<_Tp, 3, Eigen::RowMajor>> cv2eigen_tensormap(InputArray src) |
|
|
|
|
{ |
|
|
|
|
Mat mat = src.getMat(); |
|
|
|
|
CV_CheckTypeEQ(mat.type(), CV_MAKETYPE(traits::Type<_Tp>::value, mat.channels()), ""); |
|
|
|
|