zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Eigen 与 OpenCV 数据转换

2023-02-25 18:20:01 时间

OpenCV 支持与 Eigen 之间的数据转化,本文记录方法。

数据转换

OpenCV 算子

  • cv -> eigen: cv2eigen()
  • eigen -> cv: eigen2cv()
  • 需要引入 :
#include <opencv2/core/eigen.hpp>

示例

  • 转换代码
#include <iostream>
#include <Eigen/Core>
#include <unsupported/Eigen/CXX11/Tensor>
#include <opencv2/core/eigen.hpp>
#include <opencv2/opencv.hpp>

using namespace Eigen;
using namespace std;
using namespace cv;


int main()
{
    Mat img = imread("test.jpg");
    Mat img2;
    Eigen::Tensor<uint8_t, 3, Eigen::RowMajor> a_tensor;
    cv2eigen(img, a_tensor);
    a_tensor.slice(Eigen::array<size_t, 3> {500, 500, 0}, Eigen::array<size_t, 3> {200, 400, 3}).setZero();
    eigen2cv(a_tensor, img2);

}

参考资料