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

时间:2008-09-22 06:18:08

标签: c# .net camera webcam image-capture

我想连接到.NET中的USB网络摄像头,特别是使用C#。作为.NET的新手,我不知道标准库中有什么样的支持。我在网上找到了一个通过剪贴板复制位图的例子,但这看起来非常h​​acky(可能很慢)。还有更好的方法吗?

6 个答案:

答案 0 :(得分:19)

您需要使用Windows Image Acquisition (WIA)将网络摄像头与应用程序集成。有很多这方面很容易获得的例子。这是一个C# Webcam User Control来源。

以下是一些希望解决同一问题的人的文章和博客文章:

答案 1 :(得分:9)

有趣的是,Vista不支持WIA从网络摄像头进行捕获。他们主要针对扫描仪并从相机中拉出静止图像。

此外,像罗技这样的大型制造商放弃了WIA,也是DirectShow的青睐。

答案 2 :(得分:8)

这是做这个的好例子。它使用的是DirectShow.Net(http://directshownet.sourceforge.net/),它比使用“剪贴板”要好得多:D。

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

答案 3 :(得分:5)

这是一个包含许多与计算机视觉系统有关的功能的软件包,名为AForge。如果您还在寻找,他们可以轻松地从USB摄像头获取网络摄像头图像。

只需查看计算机视觉运动传感器示例代码的示例代码。我确信你可以像我一样从中取出你需要的函数调用。

[对不起,但这可能会对某人有用]

答案 4 :(得分:3)

在我的电脑上,WIA苦心经营......所以我决定试试Windows Multimedia Video Capture

您可以找到演示here

答案 5 :(得分:2)

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

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