zoukankan      html  css  js  c++  java
  • C# 使用AForge调用笔记本摄像头拍照

    vs2012  winform

    连接摄像头设备,这里需要引入

    代码:

    using AForge;
    using AForge.Controls;
    using AForge.Imaging;
    using AForge.Video;
    using AForge.Video.DirectShow;

    在工具箱中还需要添加AForge.Control,然后找到VideoSourcePlayer这个控件添加到界面上

    直接找到dll拖拽到工具箱就可以了(工具箱先建一个选项)

    将在camera里面出现很多控件,找到videoSourcePlayer,拖拽至form窗体

    然后完成了基本设置

    定义全局变量

    FilterInfoCollection videoDevices;
    VideoCaptureDevice videoSource;
    public int selectedDeviceIndex = 0;

    然后连接摄像头

     1 private void btn_getdevice_Click(object sender, EventArgs e)
     2         {
     3             videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
     4             selectedDeviceIndex = 0;
     5             videoSource = new VideoCaptureDevice(videoDevices[selectedDeviceIndex].MonikerString);//连接摄像头。
     6             videoSource.VideoResolution = videoSource.VideoCapabilities[selectedDeviceIndex];
     7             videoSourcePlayer1.VideoSource = videoSource;
     8             // set NewFrame event handler
     9             videoSourcePlayer1.Start();  
    10         }      

    拍照:

    1  private void button1_Click(object sender, EventArgs e)
    2         {
    3             if (videoSource == null)
    4                 return;
    5             Bitmap bitmap = videoSourcePlayer1.GetCurrentVideoFrame();
    6             string fileName = "54250.jpg";//DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ff") + ".jpg";
    7             bitmap.Save(@"E:	emp" + fileName, ImageFormat.Jpeg);
    8             bitmap.Dispose();
    9         }

    这样就完成了拍照功能

    效果图

  • 相关阅读:
    Rabbitmq 性能测试
    B+树图文详解
    图的概念和存储(邻接矩阵,邻接表)
    WebApi系列文章
    Asp.Net MVC项目集成Swagger
    正则表达式匹配两个特殊字符中间的内容
    数学常数e的含义
    十大排序算法总结
    C#集合类型大揭秘
    深入System.Web.Caching命名空间 教你Hold住缓存管理(三)
  • 原文地址:https://www.cnblogs.com/lidedong/p/5564851.html
Copyright © 2011-2022 走看看