将 IplImage 转换为 Mat 时出错

Error when converting IplImage to Mat

本文关键字:出错 Mat IplImage 转换      更新时间:2023-10-16
#include <opencv2/opencv.hpp>
...
IplImage* img = cvLoadImage("TestImage.jpg", 1);
Mat mtx(img);

此代码应将 img 转换为 Mat 格式。但是,当我实现这一点时,我收到一个错误,指出"没有用于初始化 cv::Mat 的匹配构造函数"。

我哪里做错了?语法应该是正确的,所以我假设问题出在其他地方。我在OSX Yosemite中使用OpenCV 3.1.0和Xcode 7.2.1。

提前谢谢你

似乎构造函数 cv::Mat(IplImages*( 已经从 core/src/matrix.cpp 中消失了。顺便说一句,我找到了另一种选择。

Mat mtx = cv::cvarrToMat(img);

这应该可以做到。

这些也可以工作:

// Method 1
Mat mtx = img;
// Method 2 (`true` stands for whether you want a deepcopy)
Mat mtx(img, true);