Visual Studio的emgu cv插件

时间:2013-12-07 08:05:45

标签: c#

我正在使用Visual Studio的emgucv插件开发一个使用我的网络摄像头的项目。该项目在Windows中运行良好,适合应用。但是当我使用将项目导入我的WPF并运行它时,它只显示图像框但不显示网络摄像头。请问我该怎么办?

1 个答案:

答案 0 :(得分:0)

这是因为要显示图像,WPF不使用PictureBoxImageBox

您可以将单个帧转换为位图,然后更新图像。

Image<Bgr, Byte> My_Image = new Image<Bgr, byte>(Openfile.FileName);
srcImg.Source = BitmapSourceConvert.ToBitmapSource(myImage);

BitmapSourceConvert类:

 public static class BitmapSourceConvert
    {
        [DllImport("gdi32")]
        private static extern int DeleteObject(IntPtr o);

        public static BitmapSource ToBitmapSource(IImage image)
        {
            using (System.Drawing.Bitmap source = image.Bitmap)
            {
                IntPtr ptr = source.GetHbitmap();

                BitmapSource bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                    ptr,
                    IntPtr.Zero,
                    Int32Rect.Empty,
                    System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());

                DeleteObject(ptr);
                return bs;
            }
        }
    }