我不幸地为此苦苦挣扎。我有一个与Emgu和OpenCvSharp混合的项目。听起来很奇怪,但也有原因。
无论如何,我所拥有的是一个EMGU.CV.Image,我想用它来填充OpenCvSharp IplImage
我认为这是可能的,但我无法绕过它。
相关的代码片段(C#):
FrameCapture = Cv.CreateFileCapture(@"C:\test\vid1.mp4");
var frm = cap.QueryFrame();
var frameBmp = frm.Bitmap;
IplImage curFrame = ??? <<====== I'd like to create curFrame based on frameBmp
答案 0 :(得分:1)
像往常一样,答案总是很简单。
对于遇到此问题的任何人,您可以执行以下操作:
var frm = cap.QueryFrame(); // this is an Emgu.CV.Image object
var frameBmp = frm.Bitmap; // this is the bitmap from that object
Frame = new IplImage(frameBmp.Width, frameBmp.Height, BitDepth.U8, 3); //creates the OpenCvSharp IplImage;
Frame.CopyFrom(frameBmp); // copies the bitmap data to the IplImage