WPF摄像头使用(AForge)

AForge引用

1.创建WPF项目, 在NuGet安装AForge相关SDK包:
WPF摄像头使用(AForge)

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

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

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

WPF摄像头使用(AForge)

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(); //启动
            }

实际效果(演示):
WPF摄像头使用(AForge)

拍照

player.GetCurrentVideoFrame();

WPF摄像头使用(AForge)

上一篇:APIView 简单接口编写


下一篇:【.net Core】DateTime在Linux中与Windows时间不一致