如何连接到.NET中的USB网络摄像头?

时间:2020-03-06 14:31:33  来源:igfitidea点击:

我想连接到.NET中的USB网络摄像头,尤其是使用C#。作为.NET的新手,我不知道标准库中提供了哪种支持。我在网上找到了一个可以通过剪贴板复制位图的示例,但这似乎很hacky(并且可能很慢)。有没有更好的办法?

解决方案

我们将需要使用Windows Image Acquisition(WIA)将网络摄像头与应用程序集成。有很多这样的例子。这是带有源代码的CWebcam用户控件。

以下是一些寻求解决我们相同问题的人的文章和博客文章:

  • MSDN Coding4Fun:看着我! Windows图像采集
  • CodeProject:WIA脚本和.NET
  • CodeProject:使用WIA的WebCam快速图像捕获服务
  • clausn.dk:来自C#和WIA的网络摄像头控件

这是一个很好的例子。它使用DirectShow.Net(http://directshownet.sourceforge.net/),可能比使用" clipboard":D更好。

http://www.codeproject.com/KB/audio-video/WebcamUsingDirectShowNET.aspx

在我的计算机上,WIA辛苦地工作了...所以我决定尝试Windows Multimedia Video Capture。

我们可以在此处找到一个演示。

这实际上取决于我们要做什么。 WIA主要用于从成像设备捕获静止图像,而DirectShow(通过DirectShow.net或者托管的DirectX使用)用于访问更完整的视频功能。

另一个选择是创建WPF应用程序。它具有对视频的大量内置支持(在某种程度上,将循环的视频剪辑作为按钮是非常琐碎的),并且应该快速简便地进行开发。

有趣的是,VIA不再支持从网络摄像头捕获WIA。他们主要将其瞄准"扫描仪"并从相机中取出静止图像。

此外,像罗技这样的大型制造商也已经放弃了WIA,而DirectShow则受到青睐。

有一个具有许多功能的软件包,这些功能与称为AForge的计算机视觉系统有关。而且,如果我们还在寻找,它们是从USB摄像头获取网络摄像头图像的简便方法。

只需签出计算机视觉运动传感器示例代码的示例代码。我确定我们可以像我一样从中提取所需的函数调用。

[很抱歉坏死,但这将来可能对某人有用]