C# WindowsForms выдаёт ошибку: неудаётся неявно преобразовать тип "System.Drawing.Bitmap" в "Emgu.CV.IInputArray"

// ошибка в классе  private void Capture_ImageGrabbed(object sender, EventArgs e)
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    //Добавление пользовательских библиотек...
    using Emgu;
    using Emgu.CV;
    using Emgu.CV.Util;
    using Emgu.CV.Structure;
    using Emgu.Util;
    using DirectShowLib;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            private VideoCapture capture = null;
            private DsDevice[] webCams = null;
            private int selectedCameraId = 0;
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                webCams = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
                for (int i = 0; i < webCams.Length; i++)
                {
                    toolStripComboBox1.Items.Add(webCams[i].Name);
                }
            }
    
            private void toolStripComboBox1_Click(object sender, EventArgs e)
            {
    
            }
    
            private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                selectedCameraId = toolStripComboBox1.SelectedIndex;
            }
    
            private void toolStripButton1_Click(object sender, EventArgs e)
            {
                try
                {
                    if (webCams.Length == 0)
                    {
                        throw new Exception("Нет доступных камер!");
                    }
                    else if (toolStripComboBox1.SelectedItem == null)
                    {
                        throw new Exception("Необходимо выбрать камеру!");
                    }
                    else if (capture != null)
                    {
                        capture.Start();
                    }
                    else
                    {
                        capture = new VideoCapture(selectedCameraId);
                        capture.ImageGrabbed += Capture_ImageGrabbed;
                        capture.Start();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    
            private void Capture_ImageGrabbed(object sender, EventArgs e)
            {
                try
                {
                    Mat m = new Mat();
                    capture.Retrieve(m);
                    **imageBox1.Image = m.ToImage<Bgr, byte>().Flip(Emgu.CV.CvEnum.FlipType.Horizontal).ToBitmap();**
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                try
                {
                    if (capture != null)
                    {
                        capture.Pause();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                try
                {
                    if (capture != null)
                    {
                        capture.Pause();
                        capture.Dispose();
                        capture = null;
                        imageBox1.Image.Dispose();
                        imageBox1.Image = null;
                        selectedCameraId = 0;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    
            private void выходToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
    
            //Сделать скриншот...
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                try
                {
                    Mat m = new Mat();
                    capture.Retrieve(m);
                    MakeScreenShotForm screenShotForm = new MakeScreenShotForm(m.ToImage<Bgr, byte>().Flip(Emgu.CV.CvEnum.FlipType.Horizontal));
                    screenShotForm.Show();
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
    }

Ответы (0 шт):