将位图转换为OpenCvSharp IplImage

本文关键字:OpenCvSharp IplImage 转换 位图 | 更新日期: 2023-09-27 18:18:50

我很不幸地在这个问题上挣扎。我有一个混合了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

将位图转换为OpenCvSharp IplImage

和往常一样,答案总是很简单。

对于遇到这个问题的人,你可以这样做:

            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