• 使用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

  • 相关阅读:
    代替elk的命令
    redis查找bigkeys--密码带特殊字符
    mysql5.7.1.log数据库改名
    kubesphere tomcat 日志 中文 乱码
    split切割大文件 批量查看日志
    文件内容正则批量替换
    font元素批量更换成font元素
    C#(99):资源与本地化 System.Resources
    ASP.NET Web网站本地化
    为WinForm项目添加帮助文档
  • 原文地址:https://www.cnblogs.com/DragonX/p/3751072.html
Copyright © 2020-2023  润新知