【发布时间】:2019-05-14 15:16:50
【问题描述】:
由于某种原因,每当我尝试将使用 OpenCV 导入的图像转换为特征矩阵时,都会出现以下错误:
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: OpenCV(3.4.3)
/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_graphics_opencv/opencv/work/opencv-3.4.3/modules/core/src/matrix_wrap.cpp:1186:
error: (-215:Assertion failed) !fixedType() || ((Mat*)obj)->type() == mtype in function 'create'
我假设这是因为我错误地将图像导入为错误的数据类型。谁能提供一些关于如何在两个图书馆之间正确转换的见解?请,谢谢!
#include <Eigen/Core>
#include <opencv2/opencv.hpp>
#include <opencv2/core/eigen.hpp>
using namespace Eigen;
using namespace cv;
String filename = "phantom.tif";
Mat img = imread(filename);
MatrixXf img_matrix(img.rows, img.cols);
cv2eigen(img, img_matrix);
【问题讨论】:
-
我认为在调用
cv2eigen()之前,您需要确保img的类型为CV_32FC1,但我不知道您的图像phantom.tif是什么类型。