-1

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

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

  }

我需要克隆源和 ch_h,但我不知道如何正确执行。

提前致谢

4

1 回答 1

0

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

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

在实践中:

IplImage* iplImage = ...

cv::Mat matFromIpl(iplImage);

// use matFromIpl from here
于 2015-04-17T11:59:14.747 回答