Emgucv传递Image类参数给Opencv的Mat类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lsq2902101015/article/details/46815289

最近在使用C++的DLL链接库开发C#Emgucv程序,其中要将Emgucv中的Image类传递给Opencv中的Mat类,通过下面的方法进行了实现。


首先,将Emgucv中的Image对象转换成IplImage指针:


public static IntPtr EmgucvImageToIplImagePointer<TColor, TDepth>(Image<TColor, TDepth> image)
            where TColor : struct, IColor
            where TDepth : new()
        {
            return image.Ptr;
        }


然后,将IplImage指针通过参数传递给Opencv中的IplImage指针:


//dll链接库函数
 [DllImport("ImageToMat.dll")]
        public static extern IntPtr ImageToMat(IntPtr image);

//调用函数,传递参数
ImageToMat(EmgucvImageToIplImagePointer(image));


最后,Opnecv中将IplImage转换成Mat类


ImageToMat(IplImage* img)
{
   Mat src(img);
}

上述仅是一种方法。


Opencv传递Mat类参数给Emgucv的Image类的操作,请点击这里


Emgucv与Opencv的接口函数都在cvextern.dll链接库中,因为看不到内部代码,所以采用了上述方法,哪位童鞋有Emgucv2.x的Git源码,求发一份[email protected],谢谢微笑


猜你喜欢

转载自blog.csdn.net/lsq2902101015/article/details/46815289
今日推荐