C# WPF使用AForge类库操作USB摄像头拍照并保存

2020-01-05 09:39:41王冬梅

项目中用到 USB 摄像头,需要根据情况进行图像抓拍,查了半天资料,比较多的是使用 WPFMediaKit 和 AForge 。 
但是由于项目要求不显示 USB 摄像头拍摄的画面,最终确定使用 AForge 解决。 
下面用一个测试程序记录一下。

一、无预览拍照

首先建立一个 WPF 项目,我的就叫 AForgeTest,你们随意就好:

C#,WPF,AForge,类库,USB,摄像头,拍照

然后在 NuGet 包管理器中安装 AForge 库:

C#,WPF,AForge,类库,USB,摄像头,拍照

我只安装了图中打勾的几个库,这个根据自己项目需要安装就好。 
不过用 USB 摄像头拍照必须安装: 
AForge.Video 
AForge.Control 
AForge.Video.DirectShow 
这三个库文件。

不习惯使用 NuGet 也可以到 AForge 的 .NET lib 下载页面下载。

在 MainWindow.xaml 文件中添加两个按钮:


<Window x:Class="AForgeTest.MainWindow"
  xmlns="http://www.easck.com/winfx/2006/xaml/presentation"
  xmlns:x="http://www.easck.com/winfx/2006/xaml"
  xmlns:d="http://www.easck.com/expression/blend/2008"
  xmlns:mc="http://www.easck.com/markup-compatibility/2006"
  xmlns:local="clr-namespace:AForgeTest"
  mc:Ignorable="d"
  Closing="Window_Closing">
 <StackPanel>
  <Button Name="btnCapture" Click="btnCapture_Click">拍照</Button>
  <Button Name="btnOpenCamera" Click="btnOpenCamera_Click">打开</Button>
 </StackPanel>
</Window>