Eigen与Opencv之间的转换,在包含Eigen库的基础上,#include<opencv2/core/eigen.hpp>
需要注意的是Eigen的声明库一定要声明在cv的Eigen库的前面。否则会报错。
将Eigen::Matrix转换为cv::Mat
cv::eigen2cv(matrix,mat);
#include <Eigen/Dense>
#include <iostream>
#include <opencv2/core/eigen.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
using namespace Eigen;
void main()
{
Mat img;
Matrix<int,50,50> matrix ;
m.fill(255);
eigen2cv(m, img);
return;
}
将cv::Mat转换为Eigen::Matrix
cv::cv2eigen(mat,matrix);
#include <Eigen/Dense>
#include <iostream>
#include <opencv2/core/eigen.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
using namespace Eigen;
void main()
{
Mat img = imread("car.jpg",1);
int row = img.rows;
int col = img.cols;
MatrixXd matrix(row, col);
cv2eigen(img,matrix);
return;
}
本文详细介绍如何在Eigen与OpenCV之间进行矩阵转换。通过正确的库包含顺序,可以实现Eigen::Matrix与cv::Mat的相互转换,适用于图像处理和计算机视觉应用。

793

被折叠的 条评论
为什么被折叠?



