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         }

    这样就完成了拍照功能

    效果图

  • 相关阅读:
    上传文件漏洞(上传绕过)
    不安全的直接对象引用漏洞(浅析)
    python socket介绍
    python新手灰帽脚本练习---简易端口扫描
    python新手灰帽脚本练习---文件路径遍历收集
    python socket编程中端口被占用的解决方法(转载)
    .net core 使用功能总结
    Python学习计划整理
    Javascript 日期转换 几天前
    学习网站
  • 原文地址:https://www.cnblogs.com/lidedong/p/5564851.html
Copyright © 2011-2022 走看看