Eigen:eigen 与 opencv 矩阵的相互转换

eigen 与 opencv 矩阵的相互转换

需要包含以下头文件:

#include 
#include 
// eigen 头文件必须放在 opencv 前面
#include 
#include 

然后使用 cv::cv2eigencv::eigen2cv 进行转换。

参考代码

#include 

#include 
#include  // eigen 头文件必须放在 opencv 前面
#include 
#include 

int main()
{
    cv::Mat c_data(2,2,CV_32F);
    c_data = (cv::Mat_(2,2) << 1,2,3,4);

    /* cv::Mat ---> Eigen::Matrix */
    Eigen::Matrix2d m_data;
    cv::cv2eigen(c_data, m_data); 
    std::cout << m_data << std::endl;

    /* Eigen::Matrix --> cv::Mat */
    cv::Mat c_data2;
    cv::eigen2cv(m_data, c_data2);
    std::cout << c_data2 << std::endl;

    return 0;
}

参考

  • https://blog.csdn.net/weixin_40331125/article/details/107387479

你可能感兴趣的:(Eigen,opencv,矩阵,c++)