您的位置:首页 > 编程语言 > C#

Emgu CV(OpenCV for C#)学习笔记(3)

2013-11-14 18:30 393 查看
第三个例子:捕获摄像头

       利用Emgu.CV.Capture可以捕获摄像头,得到的的画面既可以在ImageViewer中以新窗口的方式显示,也可以在imageBox中来显示。示例很简单,我按照自己的理解做了注释。直接贴代码如下:

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.UI;

using Emgu.CV.Structure;

namespace CameraCapture

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            //viewer显示

            ImageViewer viewer = new ImageViewer(); //定义用于显示图像的imageviewer

            viewer.Text = "摄像头窗口";

            Capture capture = new Capture(); //创建获得图像的captue

            Application.Idle += new EventHandler(delegate(object sender1, EventArgs e1)

            {

                viewer.Image = capture.QueryFrame(); //画面帧赋于ImageViewer

            });

            viewer.Show(); //显示

        }

        private void button2_Click(object sender, EventArgs e)

        {

            //显示在控件上

            Capture capture = new Capture();

            Application.Idle += new EventHandler(delegate(object sender1, EventArgs e1)

            { 

                imageBox1.Image = capture.QueryFrame();

            });

        }

    }

}

       运行结果如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: