【发布时间】:2015-05-28 13:51:39
【问题描述】:
如何将 OpenCV Mat 对象转换为 cvMat 对象?
根据这个 OpenCV 互操作性文档 (1),这种转换应该是可能的。但是在声明cvMat 时,编译器会在cvMat deprecatedImg 行给出以下错误消息
: 错误:,
如何解决这个问题?
【问题讨论】:
标签: opencv3.0 opencv-mat
如何将 OpenCV Mat 对象转换为 cvMat 对象?
根据这个 OpenCV 互操作性文档 (1),这种转换应该是可能的。但是在声明cvMat 时,编译器会在cvMat deprecatedImg 行给出以下错误消息
: 错误:,
如何解决这个问题?
【问题讨论】:
标签: opencv3.0 opencv-mat
在 OpenCV 3 及更高版本中,您必须使用兼容性标头 (types_c.h) 才能使用已弃用的 C 对象,例如 cvMat。在 OpenCV 3.0 中,CvMat 有一个接受 Mat(1) 的构造函数。代码如下。
#include "opencv2/core/types_c.h"
cv::Mat img = ... ;
CvMat deprecatedImg(img);
在 OpenCV 2.4.* 及更低版本中,Mat 到 CvMat 转换运算符(2)存在,您可以简单地将Mat 分配给CvMat,如下所示。请注意,OpenCV 3 及更高版本中不再存在此转换运算符。
Mat img = ...;
CvMat cvMatImg = img;
【讨论】: