[C#]emgucv教程1:摄像头读取

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C#]emgucv教程1:摄像头读取相关的知识,希望对你有一定的参考价值。

C#使用Emgu CV捕获摄像头并显示

using Emgu.CV;
using Emgu.CV.Structure;


public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private VideoCapture capture;
        private bool isProcess = false;

        private void button1_Click(object sender, EventArgs e)
        {
            if (capture != null)
            {
                if (isProcess)
                {
                    Application.Idle -= new EventHandler(ProcessFram);
                    this.startBtn.Text = "Stop";
                }
                else
                {
                    Application.Idle += new EventHandler(ProcessFram);
                    this.startBtn.Text = "Start";
                }
                isProcess = !isProcess;
            }
            else
            {
                try {
                    capture = new VideoCapture();
                }
                catch (NullReferenceException expt)
                {
                    MessageBox.Show(expt.Message);
                }
            }
        }

        private void ProcessFram(object sender, EventArgs arg)
        {
            Mat mat1 = capture.QueryFrame();
            Mat mat2=new Mat();

            //水平反转图片
            CvInvoke.Flip(mat1, mat2, Emgu.CV.CvEnum.FlipType.Horizontal);

            //使用Emgu的控件 imageBox
            imageBox1.Image = mat2;

            //使用Winform控件 pictureBox
            Image<Bgr, byte> image = mat2.ToImage<Bgr, byte>();
            pictureBox1.Image = image.ToBitmap();            
        }
    }

以上是关于[C#]emgucv教程1:摄像头读取的主要内容,如果未能解决你的问题,请参考以下文章

EMgucv 保存从网络摄像头检测到的多张人脸

emgucv.坑02_摄像头视频fps不对

Visual Studio C# 试图读取或写入受保护的内存。这通常表明其他内存已损坏

图像数据访问和图像匹配中的 C# 和 EMgu CV

EmguCV C++ 转换 C# EmguCV

如何使用 EmguCV 和 C# 绘制直方图