在WPF应用程序中从网络摄像头抓取图片?

时间:2014-07-09 11:48:54

标签: wpf c#-4.0 video-capture image-capture expression-encoder

我在WPF应用程序中使用web cam。我正在使用Expression Encoder进行视频捕获。对于视频捕获我创建了Job及其正常工作。虽然我想获得与视频分辨率相同的图片。为此,我使用ffmpeg从视频中提取第一帧。但是图像质量很低。优先考虑的是图像质量应该是最好的附加网络摄像头,分辨率应该和视频一样多。

我们在Expression Encode中有更好的选择,可以拍照或者帮助我做任何其他选择。

3 个答案:

答案 0 :(得分:6)

您可以查看this control

该控件提供以下功能:

  • 获取系统上可用网络摄像头设备的列表。

  • 显示来自网络摄像头设备的视频流。

  • 获取当前捕获的图像。

要求

  • 控件的WPF版本是使用.NET Framework 4 Client Profile实现的。

  • 该控件使用自Windows XP SP2起可用的VMR-9渲染器过滤器。

  • 该控件支持x86和x64平台目标。

答案 1 :(得分:1)

出于某种原因,从网络摄像头访问图像要复杂得多。虽然我没有使用Expression Encode应用程序,但我可以为您提供两个指向CodePlex的链接,您可以在其中找到两个可以帮助您解决问题的不同库。请参阅以下页面:

WebCam Library for WinForm and WPF with C# and VB.NET

WPF MediaKit - For webcam, DVD and custom video support in WPF

或者,如果您对使用Expression Encode感到满意,那么您可以查看以下链接:

Extracting still pictures from movie files, with C#
Extract frames from video files – The Code Project – Multimedia

答案 2 :(得分:0)

我建议使用AForge.Net,它可以完美无瑕,免费获得LGPL v3许可证,它似乎也适用于32位和64位。

唯一的缺点是你需要大约400 kb的dll来控制网络摄像头。