如何将 OpenCVMat
对象转换为cvMat
对象?
根据这个 OpenCV 互操作性文档(1),这种转换应该是可能的。但是在声明cvMat
时,编译器在行给出以下错误消息cvMat deprecatedImg
:错误:<预期';' 在'deprecatedImg'之前>,
如何解决这个问题?
如何将 OpenCVMat
对象转换为cvMat
对象?
根据这个 OpenCV 互操作性文档(1),这种转换应该是可能的。但是在声明cvMat
时,编译器在行给出以下错误消息cvMat deprecatedImg
:错误:<预期';' 在'deprecatedImg'之前>,
如何解决这个问题?
在 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),您可以简单地将 a 分配Mat
给CvMat
,如下所示。请注意,OpenCV 3 及更高版本中不再存在此转换运算符。
Mat img = ...;
CvMat cvMatImg = img;