如何通过指针c ++克隆mat数组

时间:2015-04-16 00:47:17

标签: c++ opencv3.0

我是opencv中的新手,我有一个程序,其中使用了IplImage,但我想更新到Mat,所以有些事情我不知道如何修改程序,例如这一行: / p>

 void setDataToWork(Mat* sources)/* Before it was IplImage* sources*/
   {
        src = sources ;
        ...
        ...
     {
        /*segm = cvCloneImage( sources ) ;*/ 
        /*ch_h = cvCloneImage( segMsk )*/;          
         sources->clone();
     }

  }

我需要克隆源和ch_h,但我不知道如何正确地做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:0)

您无法将所有IplImage替换为cv::Mat,因为API已完全更改,某些方法不存在,某些方法已重命名等。 您唯一能做的就是通过下面的构造函数为旧cv::Mat创建一个包装器IplImage对象

cv::Mat(const IplImage* img, bool copyData=false);

在实践中:

IplImage* iplImage = ...

cv::Mat matFromIpl(iplImage);

// use matFromIpl from here