2015-04-16 18 views
-1

我在opencv中新建了一個程序,並且我有一個使用IplImage的程序,但是我想更新到Mat,所以有些地方我不知道如何修改程序,例如這條線:如何通過指針C++來克隆mat數組

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

    } 

我需要克隆的來源和CH_H,但我不知道該怎麼做是正確的。

在此先感謝

回答

0

你不能代替IplImage所有出現cv::Mat因爲API已經完全改變了,一些方法不存在,有些已被重命名等 你能做的唯一的事是由構造下面

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

創建一個包裝cv::Mat對象舊IplImage在實踐中:

IplImage* iplImage = ... 

cv::Mat matFromIpl(iplImage); 

// use matFromIpl from here