C# 使用AForge调用笔记本摄像头拍照

Posted 来陪朕侍寝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:\\temp\\" + fileName, ImageFormat.Jpeg);
8             bitmap.Dispose();
9         }

 

 

 

这样就完成了拍照功能

 

 

效果图

 

以上是关于C# 使用AForge调用笔记本摄像头拍照的主要内容,如果未能解决你的问题,请参考以下文章

关于调用摄像头录像功能

C#调用摄像头(AForge)实现扫描条码解析(Zxing)功能

C#Aforge检测画面变化自动拍照

c#屏幕录制(经典)(含源码和AForge.Video.FFMPEG.DLL)及填坑办法

C# 利用AForge.NET开源类库实现 图像素描效果

C#调用摄像头并访问西门子PLC以及在车间的可能性应用