【问题标题】:How to convert Mat to cvMat in OpenCV 3.0如何在 OpenCV 3.0 中将 Mat 转换为 cvMat
【发布时间】:2015-05-28 13:51:39
【问题描述】:

如何将 OpenCV Mat 对象转换为 cvMat 对象?

根据这个 OpenCV 互操作性文档 (1),这种转换应该是可能的。但是在声明cvMat 时,编译器会在cvMat deprecatedImg 行给出以下错误消息

: 错误:,

如何解决这个问题?

【问题讨论】:

    标签: opencv3.0 opencv-mat


    【解决方案1】:

    在 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.* 及更低版本中,MatCvMat 转换运算符(2)存在,您可以简单地将Mat 分配给CvMat,如下所示。请注意,OpenCV 3 及更高版本中不再存在此转换运算符。

    Mat img = ...;
    CvMat cvMatImg = img;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 2012-03-08
      • 2011-08-11
      • 2022-06-25
      • 1970-01-01
      • 2011-09-12
      • 2023-03-09
      相关资源
      最近更新 更多