我想连接到.NET中的USB网络摄像头,特别是使用C#。作为.NET的新手,我不知道标准库中有什么样的支持。我在网上找到了一个通过剪贴板复制位图的例子,但这看起来非常hacky(可能很慢)。还有更好的方法吗?
答案 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应用程序。它具有大量内置的视频支持(在某种程度上,将循环视频剪辑作为按钮非常简单),并且应该快速且容易开发。