从位图转换为MIplImage或IplImage c#



我在c++中创建了一个算法来进行背景减法,我想用dll(extern)从c#中调用它,参数为"IplImage"。我在c#中获取相机流,并且我将帧作为图像(位图)的问题。

如何将位图转换为IplImage以在c++中发送,反之亦然以检索处理过的帧?

非常感谢。

使用Emgucv,您可以尝试

Bitmap bitmap = ....
Emgu.CV.Image<Bgr, Byte> img = new Image<Bgr, byte>(bitmap);
Emgu.CV.Structure.MIplImage = img.MIplImage;

要用C++方法发送,可以将其作为IntPtr对象传递

IntPtr r = IntPtr.Zero;
System.Runtime.InteropServices.Marshal.StructureToPtr(img, r, false);
// call your c++ method 
...

另请参阅有关Marshal 的详细信息

最新更新