如何将 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;