我是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,但我不知道如何正确地做到这一点。
提前致谢
答案 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