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();
}
}
}