WPF摄像头使用(AForge)

AForge引用

1.创建WPF项目, 在NuGet安装AForge相关SDK包:

2.项目引用
2.1.由于在WPF当中使用AForge,需要通过WindowsFormsHost嵌入在WPF当中使用, 所以需要给项目添加相关引用:

2.2.页面添加命名空间
.xaml文件中,添加以下命名空间:

        xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
        xmlns:aforge="clr-namespace:AForge.Controls;assembly=AForge.Controls

3.创建控件
为XAML中添加一个WindowsFormsHost 嵌入一个VideoSourcePlayer

 <wfi:WindowsFormsHost >
   <aforge:VideoSourcePlayer x:Name="player" Dock="Fill" />
 </wfi:WindowsFormsHost>

初始化

在后台代码中, 添加初始化代码, 以下代码模拟设置的第一个摄像头, FilterInfoCollection实际为一个集合。

            FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            if (videoDevices.Count > 0)
            {
                var videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString);
                videoDevice.VideoResolution = videoDevice.VideoCapabilities[0];  //设置分辨率
                player.VideoSource = videoDevice; //设置源
                player.Start(); //启动
            }

实际效果(演示):

拍照

player.GetCurrentVideoFrame();
原文地址:https://www.cnblogs.com/zh7791/p/12971242.html