Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Emgu::CV::Mat转换为OpenCV::Mat,反之亦然?_Opencv_Image Processing_C++ Cli_Emgucv - Fatal编程技术网

如何将Emgu::CV::Mat转换为OpenCV::Mat,反之亦然?

如何将Emgu::CV::Mat转换为OpenCV::Mat,反之亦然?,opencv,image-processing,c++-cli,emgucv,Opencv,Image Processing,C++ Cli,Emgucv,我必须在C++/CLI的托管和非托管代码中使用OpenCV 我尝试在托管代码中使用Emgu CV来包装OpenCV对象,但在进行转换时遇到了问题 我该如何做这样的事情: Emgu::CV::Mat convert = Function_That_Returns_OpenCV_CV_Mat(); 或者这个: Function_That_Takes_OpenCV_CV_Mat(Emgu_CV_Mat_variable); ?从OpenCV垫到Emgu垫: cv::Mat openCvMat =

我必须在C++/CLI的托管和非托管代码中使用OpenCV

我尝试在托管代码中使用Emgu CV来包装OpenCV对象,但在进行转换时遇到了问题

我该如何做这样的事情:

Emgu::CV::Mat convert = Function_That_Returns_OpenCV_CV_Mat();
或者这个:

Function_That_Takes_OpenCV_CV_Mat(Emgu_CV_Mat_variable);

从OpenCV垫到Emgu垫:

cv::Mat openCvMat = Function_That_Returns_OpenCV_CV_Mat();
System::IntPtr openCvMatSystemIntPtr = openCvMat.ptr;
Emgu::CV::Mat^ result = 
   Emgu::CV::CvInvoke::CvArrToMat(
      openCvMatSystemIntPtr, false, false, 0);

另一个方向呢?这对我来说有点不安全。在这一点上,openCvMat和result是否都会声明指针的所有权(因为您没有复制内存,因为您将该参数指定为false),并且其中一个可以很容易地在另一个之前处理?