zoukankan      html  css  js  c++  java
  • 使用aforg.net 捕获摄像头 附源码

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using AForge.Video;
    using AForge.Video.DirectShow;
    
    namespace CameraCapture
    {
        public partial class Form1 : Form
        {
            FilterInfoCollection filterInfoCollection;
            VideoCaptureDevice captureDevice;
            public Form1()
            {
                InitializeComponent();
                filterInfoCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice);
                foreach (FilterInfo item in filterInfoCollection)
                {
                    this.comboBox1.Items.Add(item.Name);
                }
                this.comboBox1.SelectedIndex = 0;
                //先初始化一下 否则在下面判断是否已运行时会报错
                captureDevice = new VideoCaptureDevice();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (captureDevice.IsRunning)
                    captureDevice.Stop();
                captureDevice = new VideoCaptureDevice(filterInfoCollection[comboBox1.SelectedIndex].MonikerString);
                captureDevice.NewFrame += captureDevice_NewFrame;
                captureDevice.Start();
            }
    
            void captureDevice_NewFrame(object sender, NewFrameEventArgs eventArgs)
            {
                this.pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();
            }
            /// <summary>
            /// 关闭后结束捕获 释放资源
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void Form1_FormClosed(object sender, FormClosedEventArgs e)
            {
                if (captureDevice.IsRunning)
                {
                    captureDevice.Stop();
                }
            }
        }
    }
    

      

    源代码下载:http://files.cnblogs.com/DragonX/CameraCapture.zip

  • 相关阅读:
    git 管理
    SVN 管理
    为什么要做静态库
    Sqlite3
    CocoaPod
    内存管理
    readline的用法
    join合并字符串时使用生成器表达式
    pandas DataFrame数据转为list
    Jenkins自动化CI CD流水线之4--Master-Slave架构
  • 原文地址:https://www.cnblogs.com/DragonX/p/3751072.html
Copyright © 2011-2022 走看看