zoukankan      html  css  js  c++  java
  • 【原】 EmguCV学习摄像头采集

    -欢迎转载,请务必注明出处。

    一、目的:

      测试Emgu安装是否正确,摄像头采集测试。

    二、背景知识:

      1.什么是EmguCV?

      其实就是OpenCV的C#版,对于我这种熟悉.net人来说比较容易上手。

         2.如何安装EmguCV?

      详见http://www.emgu.com/wiki/index.php/Main_Page,或百度一下,很容易安装。

    三、安装环境:

      VisualStudio2008 + Emgu V2.0.5

    四、测试步骤:

      1.程序界面设计

         

      2.程序代码

      

    /*
     *  Wrote by james at 2012-10-11
     *  jamesking.chao@gmail.com
     */
    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;
    using System.Threading;
    
    namespace Emgu学习_摄像头采集显示
    {
        public partial class Form1 : Form
        {
            private Capture capt;
    
            public Form1()
            {
                InitializeComponent();
            }
    
    
            private void Form1_Load(object sender, EventArgs e)
            {
                this.btnBegin.Enabled = true;
                this.btnEnd.Enabled = false;
            }
    
            private void GetFrame(object sender, EventArgs e)
            {
                Image<Bgr, Byte> frame = capt.QueryFrame();
                imageBox1.Image = frame;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    if (capt == null)
                        capt = new Capture();
                }
                catch (NullReferenceException excpt)
                {
                    MessageBox.Show(excpt.Message);
                }
                if (capt != null)
                {
                    btnBegin.Enabled = false;
                    btnEnd.Enabled = true;
                    Application.Idle += new EventHandler(GetFrame);
                }
            }
    
            private void btnEnd_Click(object sender, EventArgs e)
            {
                if (capt != null)
                {
                    btnBegin.Enabled = true;
                    btnEnd.Enabled = false;
                    Application.Idle -= new EventHandler(GetFrame);
                }
            }
        }
    }

      3.运行效果

      

  • 相关阅读:
    VS2010 自动跳过代码现象
    Reverse Linked List II 【纠结逆序!!!】
    Intersection of Two Linked Lists
    Linked List Cycle II
    Remove Nth Node From End of List 【另一个技巧,指针的指针】
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Remove Duplicates from Sorted List
    Linked List Cycle
    Dungeon Game
  • 原文地址:https://www.cnblogs.com/fitel/p/2735345.html
Copyright © 2011-2022 走看看