如何通过指针c ++克隆一个mat数组
How to clone an mat array by pointer c++
我是 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,但我不知道如何正确地进行。
提前致谢
您不能将所有出现的 IplImage
替换为 cv::Mat
,因为 API 已完全更改,一些方法不存在,一些已重命名等。
你唯一能做的就是通过下面的构造函数
为你的旧IplImage
创建一个包装器cv::Mat
对象
cv::Mat(const IplImage* img, bool copyData=false);
实践中:
IplImage* iplImage = ...
cv::Mat matFromIpl(iplImage);
// use matFromIpl from here
我是 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,但我不知道如何正确地进行。
提前致谢
您不能将所有出现的 IplImage
替换为 cv::Mat
,因为 API 已完全更改,一些方法不存在,一些已重命名等。
你唯一能做的就是通过下面的构造函数
IplImage
创建一个包装器cv::Mat
对象
cv::Mat(const IplImage* img, bool copyData=false);
实践中:
IplImage* iplImage = ...
cv::Mat matFromIpl(iplImage);
// use matFromIpl from here