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         }

    这样就完成了拍照功能

    效果图

  • 相关阅读:
    跟一声响骚扰说“拜拜”
    来电过滤 全靠防火墙
    android sd卡读取数据库
    Java程序员十戒
    Java常用的正则表达式验证
    Java 3D 教程:6. Java 3D 与用户界面
    成为Java高手的25个学习目标
    Java数据结构内容整理
    Java中类与类之间的关系
    求助,Java字符串分割问题
  • 原文地址:https://www.cnblogs.com/lidedong/p/5564851.html
Copyright © 2011-2022 走看看