emgu cv 读取摄像头图像



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.Util;
namespace shexiangji
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private Capture capture;
        private bool captureinprocess;//判断摄像头的状态

        private void button1_Click(object sender, EventArgs e)
        {
            if (capture != null)//摄像头不为空
            {
                if (captureinprocess)
                {
                    Application.Idle -= new EventHandler(processfram);
                    button1.Text = "Stop!";
                }
                else
                {
                    Application.Idle += new EventHandler(processfram);
                    button1.Text = "Start!";
                }
                captureinprocess = !captureinprocess;
            }
            else//摄像头为空则通过Capture()方法调用
            {
                try
                {
                    capture = new Capture();
                }
                catch (NullReferenceException excpt)
                {
                    MessageBox.Show(excpt.Message);
                }
            }

        }       
        private void processfram(object sender, EventArgs arg)
        {
            Image<Bgr, Byte> frame = capture.QueryFrame();
             pictureBox1.Image = frame.ToBitmap();
        }
    }
}


你可能感兴趣的:(opencv,摄像头,cv,Emgu,读取摄像头)